首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用mysql检查一个表中的一行是否在另一个表中?

问如何使用mysql检查一个表中的一行是否在另一个表中?
EN

Stack Overflow用户
提问于 2012-11-15 23:01:31
回答 2查看 103关注 0票数 0

我在MySQL中有两个表。它们都有两列。如何使用MySQL检查一个表中的一行是否在另一个表中?

例如,

代码语言:javascript
复制
table 1:
a, c
b, a
d, f


table 2:
a, k
c, a
g, m
c, l

如何检查表1中的每一行:(a,c) (b,a) (d,f)是否存在于表2中,然后在表1中创建一个新列,其中包含每一行在表2中出现的时间?顺序在这里并不重要,因此(a,c)与(c,a)相同。因此,在本例中,表1中一行(a,c)与表2中的一次匹配。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-15 23:53:19

代码语言:javascript
复制
SELECT  a.col1, a.col2, COUNT(b.col1)
FROM table1 a LEFT JOIN table2 b
ON (a.col1 = b.col1 OR a.col1 = b.col2) 
AND (a.col2 = b.col1 OR a.col2 = b.col2)
GROUP BY a.col1, a.col2

http://sqlfiddle.com/#!2/89c17/1

票数 2
EN

Stack Overflow用户

发布于 2012-11-15 23:11:01

使用LEFT JOIN以便显示table1的所有记录,即使它在table2上没有记录

代码语言:javascript
复制
SELECT  a.col1, a.col2, COUNT(b.col1)
FROM    table1 a
        LEFT JOIN table2 b
            ON a.col1 = b.col1 AND
                a.col2 = b.col2
GROUP BY a.col1, a.col2

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13400192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档