查询父级是否在 SQL 服务器中有多个项目
Query to find if a Parent has multiple items in SQL Server
我有以下table。我如何才能找到父级是否有多个项目。
例如:Parent 1 有项目 ABC 和 BBC,因此查询应该显示“(多个)”而不是显示项目名称。
Parent 5 只有一个项目,应该显示项目名称。
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
检查下面这个fiddle
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
我有以下table。我如何才能找到父级是否有多个项目。
例如:Parent 1 有项目 ABC 和 BBC,因此查询应该显示“(多个)”而不是显示项目名称。 Parent 5 只有一个项目,应该显示项目名称。
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
检查下面这个fiddle
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