【发布时间】:2023-03-07 08:01:02
【问题描述】:
我的 SQL 查询有问题。 在一个表中,我有名称为 id 和 subid 的列。一些产品通过同一张表中的 subid 连接到其他产品。 示例:
ID | Name | Status | Subid | Location
---------------------------------------------------------
1 | Milk | SA | | Box 1
2 | MyDay | SA | 1 |
3 | Kitkat | SA | 4 |
4 | Chocolate| SA | | Box 2
5 | Twix | SA | 4 |
6 | Bounty | SA | 4 |
7 | Milkbox | SA | 1 |
表格中还有许多结果。
我要查询 SELECT * FROM products WHERE status='SA' ORDER BY Location ASC, ...
我希望我的排序看起来像这样:
ID | Name | Status | Subid | Location
---------------------------------------------------------
4 | Chocolate| SA | | Box 2 // If it's parent result
3 | Kitkat | SA | 4 | // It's a child for Choco
5 | Twix | SA | 4 | // It's a child for Choco
6 | Bounty | SA | 4 | // It's a child for Choco
1 | Milk | SA | | Box 1 // If it's parent result
2 | MyDay | SA | 1 | // It's a child for Milk
7 | Milkbox | SA | 1 | // It's a child for Milk
在每个父结果显示他的孩子通过 subid 连接到 id 之后
有什么办法吗?
提前致谢。
【问题讨论】:
-
“按所有产品订购”是什么意思?您发布的所有示例均未显示按
Name排序的数据。 -
如果我理解您想要的结果,您的问题有点不完整。你应该问的是:“我怎样才能先按位置订购产品,然后再按子产品订购”
-
显示所需的结果,有助于我们了解您的 OP。
-
@maSTAShuFu 它就在那里......只是不够清楚,第二个结果是想要的:)
-
@maSTAShuFu:OP 已经做到了。查看问题中的决赛桌。