我试图在SELECT中将UNION两列和第三列的别名混合使用。将两列中的数据合并为一个用于排序
我还需要检索匹配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)
上午我至少要走正确的道路,还是这不是正确的方式?
感谢您的任何帮助。
嗨,Randy,使用你的例子,(加入ALL后得到所有11个结果),我得到了MLS_SORT列的正确结果。 Office和Agent ID结合在一起。但是,即使使用了*,也不会检索到其他数据。 – Bill 2011-12-14 21:42:43
即使检索到的行数是11,只有MLS_SORT列中有数据...如果我将*更改为任何其他列名称(存在),我会得到: 警告:mysql_num_rows():提供的参数不是有效的MySQL结果资源在...任何想法? – Bill 2011-12-15 15:45:23