SQL不同的框结果

时间:2013-01-04 19:23:17

标签: sql

不确定如何用文字写出来

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

1 个答案:

答案 0 :(得分:1)

好的,所以你需要JOIN针对同一个表,其中一方返回Column A 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