我有一张桌子,上面有重复的身份证。我想要一个包含所有三个值(TWIX、hershy和M&MS)的id值可以在不同的行上,但是我不知道如何使用逐行而不是按组的语句来查找id。
我尝试过(在Microsoft SQL server中)
select *,
case when 'Hershys' in (Col1, Ccol2) then 1 else 0 as case1,
case when 'TWIX' in (Col1, Col2) then 1 else 0 as case2,
case when 'M&M' in (Col1, Col2) then 1 else 0 as case3
into #candyflags_t1
from table
select * from #candyflags_t1
where case1 > 0 and case2> 0 and case3 > 0
这不起作用,因为sql逐行运行。如何创建标志或查询标志,以查找哪个id组具有这三个值?
`+--------------------+----------+
| ID | Col1 | Col2 |
+---------------------+----------+
| L123 | TWIX | |
+--------------------+----------+
| L123 | Hershys | |
+--------------------+-----------+
| L123 | | m&ms |
+--------------------+----------+
| F143 | | m&ms |
+--------------------+----------+
| F143 | Snickers | gummies |
+--------------------+----------+
在这个表中,我想找到L123而不是F143。谢谢你的帮助,我很感激!