簡體   English   中英

Mysql查詢組合

[英]Mysql Query Combination

我有一個查詢,它由3個表a,b,c組合而成,這里的問題是表c存在於2個數據庫D1和D2中,所以我必須從兩個數據庫中獲取表c的記錄。表a和b僅來自數據庫D1,

查詢是:

$strQuery="SELECT a.id, b.lastname, school " ."FROM D1.a,D1.b" .
    " WHERE a.idint = (select c_idint from D1.c where Cid IN(10) 
UNION select c_idint from D2.c where Cid IN(10) order by c_idint)
 AND a.idint = b.idb";

問題是字段“學校”來自表c,如果我從查詢中避免字段“學校”它工作正常,但我也必須獲取字段'學校',我如何修改查詢。 謝謝:)

你需要的是別名

$strQuery="SELECT a.id, b.lastname, D2.c.school as school1,D1.c.school as school2 " ."FROM D1.a,D1.b,D1.c,d2.c" .
          " WHERE a.idint = (select c_idint from D1.c where Cid IN(10) 
          UNION select c_idint from D2.c where Cid IN(10) order by c_idint)
          AND a.idint = b.idb";

嘗試這樣: -

$strQuery="SELECT a.id, b.lastname, c.school " ."FROM D1.a,D1.b,D1.c" .
 " WHERE a.idint = (select c_idint from D1.c where Cid IN(10) 
UNION select c_idint,school from D2.c where Cid IN(10) order by c_idint)
AND a.idint = b.idb";

嘗試這個:

$strQuery="SELECT a.id, b.lastname, c.school as dSchool, '' as ddSchool " ."FROM D1.a,D1.b, D1.c" .
    " WHERE a.idint = c.idint AND c.Cid IN (10)
 AND a.idint = b.idb

UNION 

SELECT a.id, b.lastname, '' as dSchool, c.school as ddSchool " ."FROM D1.a,D1.b, D2.c" .
    " WHERE a.idint = c.idint AND c.Cid IN (10)
 AND a.idint = b.idb
";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM