gpt4 book ai didi

MySQL - 连接两个查询,第二个查询被第一个查询的结果过滤

转载 作者:行者123 更新时间:2023-11-29 07:18:57 27 4
gpt4 key购买 nike

我遇到一种情况,研究将返回单个产品 SKU,我会像这样返回:

SELECT 
pr.SKU,
pr.pkSKU,
pr.ColorDescription,
pr.CommonBrandName,
pr.BaseModel
FROM tbl_products AS pr WHERE pr.pkSKU = 160386
ORDER BY pr.CommonBrandName, pr.SKU, pr.StandardColor

但是 SKU 可能有其他可用的替代颜色,这些颜色通过 BaseModel 链接,我也需要显示这些颜色,我知道我可以通过编写一个新的查询来做到这一点,如下所示:

SELECT 
pr.SKU,
pr.pkSKU,
pr.ColorDescription,
pr.CommonBrandName,
pr.BaseModel
FROM tbl_products AS pr WHERE pr.BaseModel = "result from previous query"
ORDER BY pr.CommonBrandName, pr.SKU, pr.StandardColor

但是我真正想做的是将其合并到一个查询中,这可能吗?

其次,如果是的话,我需要对结果进行排序,以便第一个查询返回的 SKU 始终首先列出,如下所示:

搜索的 SKU
替代颜色
已搜索 SKU
替代颜色替代颜色
已搜索 SKU
替代颜色
等等

最佳答案

可能是这样的

SELECT 
pr.SKU,
pr.pkSKU,
pr.ColorDescription,
pr.CommonBrandName,
pr.BaseModel
FROM tbl_products pr
INNER JOIN tbl_products pr1 ON pr.BaseModel = pr1.BaseModel
WHERE pr2.pkSKU = 160386
ORDER BY
CASE WHEN pr.pkSKU = 160386 THEN 0 ELSE 1 END,
pr.CommonBrandName, pr.SKU, pr.StandardColor

关于MySQL - 连接两个查询,第二个查询被第一个查询的结果过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36833524/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com