我試圖在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