繁体   English   中英

带有INNER JOIN的SQL SELECT错误

[英]Error in SQL SELECT with INNER JOIN

因此,基本上,我有两个表,分别称为“ 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”中获取所有主键,这些主键与包含“吨”的“ titulo”或包含“ programming”的“ palchave”链接到记录。

PS。 很抱歉,您的名字不是英文的,希望不会太让人分心。

编辑:现在,表没有太多:

这是dadoscatalogo表格: http ://gyazo.com/fdc848da7496cea4ea2bcb6fbe81cb25

这是palavras_chave表: http ://gyazo.com/6bb82f844caebe819f380e515b1f504e

当他们加入时,我希望它有4条记录,它将在dadoscatalogo中获得patrimonio = 2的记录(在titulo中具有“吨”),并且获得palchave = programming的记录(其具有patrimonio = 1) )

根据我的理解运行以下查询:

 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%';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM