【发布时间】:2014-03-22 08:33:59
【问题描述】:
我想结合这两个 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 条件。
【问题讨论】:
-
你试过 SELECT (query1) UNION ALL (query2) 吗?
-
我不关注;喜欢:
SELECT( * FROM "Contracts" WHERE "productType" = 'RINsell' AND "clearTime" IS NULL AND "holdTime" IS NOT NULL ORDER BY "generationTime") UNION ALL SELECT( * FROM "Contracts" WHERE "productType" = 'RINsell' AND "clearTime" IS NULL AND "holdTime" IS NULL ORDER BY "contractLimitPrice");
标签: sql database postgresql sql-order-by union