所以,基本上,我有两个名为“dadoscatalogo”和“palavras_chave”的表,有一个共同的字段,“patrimonio”,这是“dadoscatalogo”的主键。
我正在使用servlet通过这些表连接到数据库,并根据用户定义的某些搜索条件传递查询以搜索条目。
现在,由于用户可以根据两个表中的信息搜索条目,因此我需要执行INNER JOIN
,然后使用WHERE
搜索该信息。我也在使用LIKE
,因为用户可能只传递部分信息,而不是全部信息。
所以,为了全面测试,我尝试将一些参数传递给它,并看看它是如何进行的。经过一些调试,我发现查询中有一些错误。但我似乎无法准确地指出它是什么。
这是测试查询:
SELECT dadoscatalogo.patrimonio
FROM dadoscatalogo
INNER JOIN palavras_chave
ON dadoscatalogo.patrimonio=palavras_chave.patrimonio
WHERE dadoscatalogo.patrimonio LIKE '%'
AND dadoscatalogo.titulo LIKE '%tons%'
OR palavras_chave.palchave LIKE '%programming%';
所以,基本上,我正在尝试对这个查询做的是,从“dadoscatalogo”获取所有主键,这些主键链接到包含“tons”的“titulo”或包含“palchave”的记录“编程”。
PS。很抱歉这些名字不是英文,希望它不会太过分散注意力。
编辑:现在,表格没有多少:这是dadoscatalogo表: http://gyazo.com/fdc848da7496cea4ea2bcb6fbe81cb25
这是palavras_chave表: http://gyazo.com/6bb82f844caebe819f380e515b1f504e
当他们加入时,我希望它有4个记录,并且它会在dadoscatalogo中得到patrimonio = 2的那个(在titulo中有“ton”),并且那个有palchave =编程的那个(可能有此Patrimonio = 1)
答案 0 :(得分:0)
按照我的理解运行以下查询:
SELECT dadoscatalogo.patrimonio
FROM dadoscatalogo
INNER JOIN palavras_chave
ON dadoscatalogo.patrimonio=palavras_chave.patrimonio
WHERE dadoscatalogo.titulo LIKE '%tons%'
OR palavras_chave.palchave LIKE '%programming%';