gpt4 book ai didi

mysql - 将两列中的数据合并为一列进行排序

转载 作者:可可西里 更新时间:2023-11-01 07:23:34 24 4
gpt4 key购买 nike

我正在尝试在 SELECT 中联合两列,并将别名作为第三列。

我还需要检索与 WHERE 子句匹配的数据,然后按别名列 (MLS_SORT) 排序。

这个,以及我试过的它的变体,都不起作用。

SELECT *
FROM
(SELECT MLS_AGENT_ID AS MLS_SORT FROM mlsdata)

UNION

(SELECT MLS_OFFICE_ID AS MLS_SORT FROM mlsdata)

WHERE (MLS_AGENT_ID = $agent_narid) OR (MLS_OFFICE_ID = $office_narid)

ORDER BY MLS_SORT

这部分确实有效并创建了具有正确值的 MLS_SORT 别名,但我不知道如何将结果限制为上面的 WHERE 子句:

(SELECT MLS_AGENT_ID AS MLS_SORT FROM mlsdata)

UNION

(SELECT MLS_OFFICE_ID AS MLS_SORT FROM mlsdata)

我是否至少走上了正确的道路,或者这不是正确的前进方式?

感谢您的帮助。

最佳答案

诀窍是理解UNION的语法:query UNION query

我想你想要:

SELECT MLS_SORT
FROM
(
SELECT MLS_AGENT_ID AS MLS_SORT
FROM mlsdata
WHERE MLS_AGENT_ID = $agent_narid

UNION

SELECT MLS_OFFICE_ID AS MLS_SORT
FROM mlsdata
WHERE MLS_OFFICE_ID = $office_narid
)
ORDER BY MLS_SORT

将两个 ID 子集放入一个结果集中,然后对它们进行排序。

但是,整个查询看起来会给出一个两行的结果集——一行用于代理,另一行用于办公室。那是你要的吗?

您的逻辑有效地将代理 ID 和办公室 ID 号类型转换为单个结果集。这在您的应用程序中有意义吗?

关于mysql - 将两列中的数据合并为一列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8510454/

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