AttrId = 3 AND ValStr = 510
AttrId = 7 AND ValStr = 2016
AttrId = 8 AND ValStr = 05
我写了这个,但是运行不正确
SELECT *
FROM Table
WHERE ((AttrID = 3 AND ValStr ='510') OR
(AttrID = 7 AND ValStr ='2016') OR
(AttrID = 8 AND ValStr ='05')
) AND
DefID = 1375552
如何写这个查询?你能帮我吗?
我想看到 AttrID = 3 AND ValStr ='510' AttrID = 7 AND ValStr ='2016'
AttrID = 8 AND ValStr ='05' 同时 3 条件为真,所以想要
仅查看 ID 1771373
我想这就是你所追求的。是吗 ?
SELECT *
FROM
(
select *, cnt = count(*) over (partition by ID)
from [Table]
WHERE (AttrID = 3 AND ValStr ='510')
OR (AttrID = 7 AND ValStr ='2016')
OR (AttrID = 8 AND ValStr ='05')
) AS D
WHERE cnt = 3