美好的一天。 作为一个例子,我有一个表有2个字段refid和校验和
我想获得校验和与特定ID匹配的所有refid
|refid|checksum| |1 | abc |2 | def |3 | hij |4 | def |5 | hij
然后我想要匹配的refid。所以,如果我已经补偿2 我想获得与匹配2
的行的校验和列相匹配的所有行我会做两个查询
Select Checksum FROM t1 WHERE refid = 2
SELECT * FROM t1 WHERE checksum = <result of query 1>
我想在一个查询中执行此操作
答案 0 :(得分:3)
你可以用两种方式做到这一点
通过 IN
SELECT * FROM t1 WHERE checksum IN
(Select Checksum FROM t1 WHERE refid = 2)
或者:
通过 LIMIT
SELECT * FROM t1 WHERE checksum =
(Select Checksum FROM t1 WHERE refid = 2 Limit 1)