繁体   English   中英

SQL查询比较单独的表和数据库中的列

[英]SQL Query comparing columns in separate tables and databases

好吧,所以我想比较两个表中两个数据库中的两个列。 我要警告您,我是SQL的新手。 我正在尝试编写查询来执行以下操作:

If a field in tableA column2 contains a field from tableB column1 at least once, increment a counter

我想知道柜台的价值。 同样,当我使用相同的“包含”时,我的意思是用substr()表示(例如,“市场”包含“市场”一词)。 任何人都可以帮我解决这个问题,或者至少指出正确的方向吗?

我想这就是你所追求的。 它显然不会循环,但可以完成您要尝试执行的操作。

select a.c2,
  count(case when a.c2 = b.c1 then 1 else 0 end) as c1count
from table1 as a 
left join
table2 as b
on a.key = b.key

group by a.c2

或类似的东西。 该联接可能需要一些工作,但是如果没有更多信息,很难说。 祝好运。

这将使您获得将tableB.col1的内容作为tableA.col2的内容的一部分的次数:

SELECT COUNT(*)
FROM tableA
JOIN tableB ON tableA.col2 RLIKE tableB.col1 

通常,SQL引擎经过优化,可以更好地与基于程序集的逻辑(而不是诸如循环的过程算法)一起使用。

暂无
暂无

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

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