0

私は以下のような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

指定されたIDに従って2列の選択結果が必要です(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

SQLServer2008でこれを取得する方法についての提案。

4

4 に答える 4

0

SQL JOINを見てください:INNER JOIN、LEFTJOINなど

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
于 2012-12-21T11:15:00.300 に答える
0

おそらく、JOINの概要– JOINの基本のようなものを見て、JOINSについて少し読んでください。

編集

たぶんそれからまた見て

于 2012-12-21T11:12:45.140 に答える
0

これは結合を使用して行うことができますが、他の要因によっては、結合を使用した方が最適な場合があります。

参加しない例:

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]
于 2012-12-21T11:18:35.527 に答える
0

UNION ALL同じデータと目的の結果に基づいて、を使用して両方のテーブルからデータを取得したいようです。

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

SQL FiddlewithDemoを参照してください

クエリの結果は次のとおりです。

|       TITLE | VALUE |
-----------------------
| Hello(Inch) |    50 |
|      test12 |   343 |
于 2012-12-21T11:53:02.663 に答える