0
我有這樣的一個查詢。mysql的SELECT UNION返回錯誤的結果?
$sql = "SELECT * FROM `my_table` WHERE type!='' AND (page_option='0' OR page_option='1') ORDER BY type ASC";
前三個結果返回的列scenario
是a1
,d3
,e1
。
現在,當我做了UNION ALL與其他相同的表:
$sql = "SELECT * FROM `my_table`
WHERE type!='' AND (page_option='0' OR page_option='1')
UNION ALL
SELECT * FROM `my_table_2`
WHERE type!='' AND (page_option='0' OR page_option='1')
UNION ALL
SELECT * FROM `my_table_3`
WHERE type!='' AND (page_option='0' OR page_option='1')
ORDER BY type ASC";
通過結果我環路和my_table
前三欄是e1
,e1
,e1
。
每個表有一個稱爲type
柱,其識別結果來自表。所以對於聯合查詢結果我加了一個條件,從my_table
if($type=="my_table") {
echo $scenario;
}
只顯示場景的場景應該是相同的單查詢,但事實並非如此。
我該如何解決?
你能分享與預期輸出,你得到什麼實際輸出一些示例數據? –
我做過了,單個查詢中的前三個結果應該與聯合查詢中的前三個結果相同,但它們不是。 – mdnba50
您可以使每個表的別名「SELECT t1。* FROM my_table as t1」與數據相同。 –