有一个表格,其中某些行来自具有匹配GUID的夫妇。只是想知道如何从表中选择所有数据,但仅限于行与匹配的GUID一起存在。
答案 0 :(得分:2)
您可以使用以下查询:
SELECT *
FROM yourtable
WHERE GUID IN (SELECT GUID FROM yourtable GROUP BY GUID HAVING COUNT(*)=2)
子查询将返回所有出现两次的GUID,外部查询将返回与这些GUID关联的所有行。
请参阅小提琴here。
答案 1 :(得分:2)
尝试这样的事情:
SELECT t1.*
FROM
table t1
, table t2
WHERE
t1.guid = t2.guid
AND t1.id <> t2.id
;
表格:您的表格名称
id:您知道的某些字段对于两行都不同
答案 2 :(得分:1)
尝试
SELECT t.*
FROM Table1 t JOIN
(
SELECT guid
FROM Table1
GROUP BY guid
HAVING COUNT(*) = 2
) q ON t.guid = q.guid
这是 SQLFiddle 演示