繁体   English   中英

SQL查询以选择具有相同ID的不同行

[英]Sql query to select different row with same ID

我有一个简单的表,我想获得一个具有相同ID但值不同的行。

假设我不知道ID;

可以说我有;

我有功能“ one”,我想找到与功能“ one”具有相同ID的功能。

我要和“ funky”一起去;

SELECT y.*
  FROM my_table x
  JOIN my_table y
    ON y.id = x.id 
   AND y.feature <> x.feature
 WHERE x.feature = 'one';

正如Strawberry所说,您可以使用内部联接:

SELECT f2.feature
FROM feature f1
INNER JOIN feature f2 ON f1.id = f2.id AND f1.feature <> f2.feature
WHERE f1.feature='one'

一种实现方法是使用exists运算符:

SELECT *
FROM   features f_outer
WHERE  EXISTS (SELECT *
               FROM   features f_inner
               WHERE  f_outer.id = f_inner.id AND
                      f_outer.feature != f_inner.feature AND
                      f_inner.feature = 'one')

暂无
暂无

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

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