gpt4 book ai didi

sql - 在同一个表上组合两个 SQL SELECT 语句

转载 作者:搜寻专家 更新时间:2023-10-30 19:48:22 24 4
gpt4 key购买 nike

我想合并这两个 SQL 查询:

SELECT * FROM "Contracts" WHERE 
"productType" = 'RINsell' AND
"clearTime" IS NULL AND
"holdTime" IS NOT NULL
ORDER BY "generationTime";

SELECT * FROM "Contracts" WHERE 
"productType" = 'RINsell' AND
"clearTime" IS NULL AND
"holdTime" IS NULL
ORDER BY "contractLimitPrice";

当我运行每条语句时,我得到的正是我想要的结果,我希望两个结果按顺序排列。我的第一个想法是使用 UNION ALL,因为这些选择将是不相交的,但我发现您不能在 ORDER BY 之后使用 UNION。我搜索了很多,大多数人建议在 UNION 之后执行 ORDER BY,但每个查询都有不同的 ORDER BY 条件。

最佳答案

如果您想要第一个查询的结果在第二个结果之前,您可以从 where 子句中删除 holdtime,并使用 order by like

order by
case when holdTime is not null then 0 else 1 end, --first query comes first
case when holdTime is not null --different orders for queries
then generationTime
else contractLimitPrice
end

关于sql - 在同一个表上组合两个 SQL SELECT 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22575303/

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