2012-12-21 65 views
0

我有2表象下面這樣:查詢來從2差異表中記錄爲2列

1)

Engine 
    ====== 

ID  Title Unit Value 
123 Hello Inch 50 
555 Hii  feet 60 

2)

Fuel 
    ===== 

ID Title  Value 
123 test12  343 
555 test5556 777 

我想選擇結果2根據給定的ID列(ID應該在兩個表中相同):

標題-- This will get the (Title + Unit) from Engine table and only Title from Fuel table. Value

價值-- This will get Value from both tables.

結果爲ID = 123:

Title   Value 

Hello(Inch) 50 
test12  343 

任何建議,我怎麼可以在SQL服務器獲得這個2008年

回答

0

根據您相同的數據和預期的結果,它顯示了要使用UNION ALL從兩個表中獲取數據:

select title+'('+Unit+')' Title, value 
from engine 
where id = 123 
union all 
select title, value 
from fuel 
where id = 123 

SQL Fiddle with Demo

查詢的結果是:

|  TITLE | VALUE | 
----------------------- 
| Hello(Inch) | 50 | 
|  test12 | 343 | 
+0

Osm ..它的工作很棒..我怎麼忘記工會..謝謝.. – James

0

看看SQL連接:INNER JOIN,LEFT JOIN等

Select 
     e.ID, e.Title, e.Unit, e.Value, f.Title as FuelTitle, e.Value as FuelValue, 
     e.Title+' '+e.Units As TitleAndUnits 
From Engine e 
Join Fuel f 
On e.ID = f.ID 
+0

請參閱編輯一次 – James

0

你可以做到這一點瓦特/ OA加入,但有加入它可以是依賴於其他更優化你的情況中的因素。

例W/O連接:

select concat(t1.c1, ' ', t1.c2, ' ', t2.c1) col1, concat(t1.c3, ' ', t2.c3) col2 
from t1, t2 
where t1.id = [ID] and t2.id = [ID]