我有一个t-sql查询,看起来像这样:
SELECT
Products.Description
FROM table1
INNER JOIN Products ON table1.ProductId = Products.ProductId
LEFT JOIN Product as categories ON Products.ParentId = categories.ProductId
WHERE table1.notes IS NULL
GROUP By Products.Description
注意:这些不是我实际的表名。 Products
看起来像这样:
ProductId ParentId Description
1 null Shoes
2 1 Flip flops
3 1 Gym Shoes
4 null Shirts
5 4 Tank Top
等等。 table1
数据:
table1Id ProductId notes
1 2 null
3 5 testing
5 3 note 123
我的目标是返回 Products
,其id在表1中。这是动态的,有时返回的内容可能包含10个父母及其子女,而其他时候只返回1个父母及其子女。关键是能够得到父母,而不是父母在家 table1
.
现在我只有孩子,没有父母。
我的预期结果如下:
Description
-----------
Shoes
Flip flops
Gym shoes
Shirts
Tank top
1条答案
按热度按时间rdrgkggo1#
我想这就是你要找的。考虑到它是一个单一级别的父/子级,您可以执行一个简单的
union all
.退货:
注:请注意数据设置,以便将来提问。这使得人们在不必设置测试数据的情况下回答问题更具吸引力。