Sql 基于多列返回行
我是一个新手微软查询用户。我有一张桌子,上面有Sql 基于多列返回行,sql,Sql,我是一个新手微软查询用户。我有一张桌子,上面有 ckno ckdate type 123 12/1/12 PV 654 11/6/12 EP 123 12/14/12 EP 852 01/3/13 PV 我想返回所有具有PV或EP类型的行,其中ck是相同的第1行和第3行。sql是什么样子的。您可以试试这个,它应该允许您在类型上有多种差异: SELECT * FROM YourTable T WHERE EXIS
ckno ckdate type
123 12/1/12 PV
654 11/6/12 EP
123 12/14/12 EP
852 01/3/13 PV
我想返回所有具有PV或EP类型的行,其中ck是相同的第1行和第3行。sql是什么样子的。您可以试试这个,它应该允许您在类型上有多种差异:
SELECT *
FROM YourTable T
WHERE EXISTS ( SELECT ckno
FROM YourTable
WHERE [type] IN ('PV','EP')
AND ckno = T.ckno
GROUP BY ckno
HAVING COUNT(*)>1)
SELECT *
FROM SomeTable t
WHERE EXISTS
(SELECT 1 FROM SomeTable x
WHERE x.ckno = t.ckno AND x.type <> t.type)
我应该指出,如果[type]可以为NULL,那么您需要确保在x.type和t.type之间使用ISNULL来处理它,这大概是最好的方法。