2017-01-25 40 views
0

我是一個總的PostgreSQL的小白......PostgreSQL的選擇字段其中2個表中的數據

我有3個表:DocumentsKeywords和連接表Documents_Keywords

更新

我想從文檔中選擇標識和描述,以及描述或關鍵詞類似「確定」和「單詞」而不是「確定」和「其他」和「單詞」的關鍵詞。

更新

第一次嘗試我給這個月底是:

SELECT actes.id 
FROM actes JOIN "actes_motclefs" 
    ON "motclefs"."id" = "actes_motclefs"."motclef_id" 
WHERE ("motclefs"."motcle" LIKE "%éch%"); 
+0

您的查詢似乎並不匹配的說明。 –

+1

正確...查詢只是一個嘗試的開始。 – thiebo

+0

「文檔」和「關鍵字」之間是否真的存在多對多的關係,而「關鍵字」中的某行仍然可以包含多個單詞?或者你只是想搜索字詞部分呢? – pozs

回答

1
SELECT d.id, d.description, k.keywords 
FROM documents d 
JOIN documents_keywords dk 
    ON d.id = dk.document_id 
JOIN keywords k 
    ON dk.keyword_id = k.id 
WHERE (d.description LIKE '%certain%words%' 
     OR k.keywords LIKE '%certain%words%') 
AND d.description NOT LIKE '%certain%other%words%' 
AND k.keywords NOT LIKE '%certain%other%words%' 
+0

謝謝!我不清楚。每個關鍵字都是關鍵字表中的單獨條目。所以關鍵字不能是「%確定%其他%詞%」。我嘗試過'WHERE(「k」。「keywords」='certain'和'k'。「keywords」='other'AND「k」。「keywords」='words')'這顯然不起作用。 – thiebo

相關問題