Sql server 查询以查找父项在SQL Server中是否有多个项
我有下表。如何查找父项是否有多个项 例如:父1有ABC和BBC项,因此查询应显示“(多个)”而不是显示项名称。 父项5只有一个项,它应该显示项名称Sql server 查询以查找父项在SQL Server中是否有多个项,sql-server,sql-server-2008,sql-server-2005,Sql Server,Sql Server 2008,Sql Server 2005,我有下表。如何查找父项是否有多个项 例如:父1有ABC和BBC项,因此查询应显示“(多个)”而不是显示项名称。 父项5只有一个项,它应该显示项名称 Price | Item | Parent -----------|------------|------------- 20 | ABC | 1 10 | BBC | 1 5 | CBC | 5 21 |
Price | Item | Parent
-----------|------------|-------------
20 | ABC | 1
10 | BBC | 1
5 | CBC | 5
21 | DDB | 6
17 | BDD | 6
31 | DBB | 6
我创建了下面的查询,它似乎不起作用
SELECT CASE WHEN COUNT(*) > 1 THEN '(Multiple)' ELSE Item END FROM
(SELECT COUNT(*), Item FROM Table WHERE Parent = @parent
GROUP BY Item) Table GROUP BY Item
检查下面的小提琴
SELECT distinct p.parent, case when p1.item is not null then 'MULTIPLE'
else p.item end as txt
FROM product p
left JOIN product p1 on p1.parent=p.parent and p1.item<>p.item
WHERE p.Parent = 6 --@parent
选择不同的p.parent,如果p1.item不为null,则选择“多个”
else p.item结束为txt
来自产品p
左连接p1上的产品p1。父项=p.parent和p1.itemp.item
其中p.Parent=6--@Parent