2011-07-06 82 views
-1

這裏是假設,如果我想使用UNION分隔兩個查詢問題,查詢是與UNION查詢使用量的問題

   $query=(select a.name,a.age,b.country,b.state from a,b where a.aid=b.bid) UNION (select a.name,a.age,c.profession,c.salary from a,c where a.anid=c.cid) 

這裏的結果只會顯示第一個查詢的結果是,任何方式我可以將第二個查詢的結果顯示到使用UNION的第一個查詢的結果。期待任何幫助。由於

+1

根本不清楚你希望得到什麼類型的結果 –

+0

不會簡單地投票,還有其他人正在關注討論。 – work

回答

0

你是在追求

(
    select a.name,a.age,b.country,b.state,null as profession,null as salary 
    from a,b 
    where a.aid=b.bid 
) 
UNION 
(
    select a.name,a.age,null,null,c.profession,c.salary 
    from a,c 
    where a.anid=c.cid 
) 

您將在第一個查詢的職業和工資列爲空和空在國家和國家列在第二個查詢

+0

哦,這項工作,然後讓我試試,謝謝 – work

+0

我需要像這樣使用它,sql的結果必須寫入一個csv文件。@ bob vale – work

0

試試這個

$query=(select a.name,a.age,b.country,b.state from a,b where a.aid=b.bid UNION select a.name,a.age,c.profession,c.salary from a,c where a.anid=c.cid) 

的方式在這兩個領域的選擇必須是相同的數據類型

+0

但答案似乎與我已發佈相同 – work

+0

它不一樣,小雞它 – elchente23

0

正如我的理解是一個工會是做兩個不同的表相同的查詢。如果你從工會的前半部分得到結果,你將不會得到下半年的結果。

0

UNION基本屬性是每個的 相應位置列出

所選列選擇 語句應該具有相同的數據類型 。 (例如,通過第一個語句選擇的第一列 應 具有相同類型的由其它語句選擇的第一列 。)

如果數據類型對應 SELECT列不匹配,則類型的 和 UNION結果中的列長度考慮了由所有SELECT 語句檢索到的 值。例如,考慮 如下:

+0

你的意思是如果第一個查詢有字段的整數數據類型,則相應地第二個查詢也應該有字段的整數datatyoe,或者兩個應該有相同的名稱爲字段 – work

+0

這兩個查詢的選擇項的'datatype'應該是整數 – diEcho