1

不知道怎么用文字写出来

Column A.       Col. B.           Col. C
123456.           Xxx.               Abbd
123456.           Yyy.               Bbbd
765432.           Xxx.               1234
765432.           Yyy.                5167
987654.           Zzz.                Abcd
987654.           Yyy.                Dbca

不同的col。A 当 B 是 xxx 返回 col.A 和 col. B 和 C 其中 B 是 Yyy

Results
123456. Yyy.   Bbbd
765432.  Yyy.  5167

但不返回

987654 yyy dbca
4

1 回答 1

1

好的,所以你需要JOIN反对同一张桌子,其中一侧返回Column Awhere B= Xxx.。使用这些,获取B = Yyy. 987654不会返回的行,因为它没有行ColB = 'Xxx.'

SELECT
  main.ColumnA,
  main.ColB,
  main.ColC
FROM 
  yourtable main
  /* Join a second instance of the table which will be limited by ColB = Xxx */
  JOIN yourtable xids ON main.ColumnA = xids.ColumnA
WHERE
  /* And limit the main instance to ColB = Yyy */
  main.ColB = 'Yyy.'
  AND xids.ColB = 'Xxx.'

http://sqlfiddle.com/#!2/b65d0/3

于 2013-01-04T19:27:58.443 回答