2017-01-25 41 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

相关问题