2016-06-28 9 views
0

誰かが私を助けてくれることを願っています。私の問題は、データベースに2つのテーブルがあることです。 1つのストアドプロシージャでtableAとtableBのIDを返したいとします。SQL Server:Cを使用して2つのテーブルから結合データを返す#

SELECT 
    id, 'WE' 
FROM 
    tableX 
WHERE 
    value= 'x' 

SELECT 
    id, 'WT' 
FROM 
    tableY 
WHERE 
    value= 'y' 

がどのように私は、私は私のC#コードで1つのオブジェクトのみを取得し、それらを組み合わせることができます。

は、そのため私は2つの選択がありますか?

この場合のサンプルコードは見つかりませんでした。どういうわけかカーソル?

これは古いコードなので、Entity Frameworkは使用できません。

おかげ

+1

'UNION'と' UNION ALL'を見上げて –

答えて

2

UNION文がこれを行うことができ、あなたのため

SELECT 
id, 'WE' from 
tableX 
where value= 'x' 
UNION 
SELECT 
id, 'WT' from 
tableY 
where value= 'y' 

UNION ALLは、同様の機能を実行しますが、UNIONの結果から、同一の行を除外することはありません。この場合、2番目の列に異なるリテラル値を指定するため、UNIONとUNION ALLは同じセットを生成します。

0

とテーブルは列の同じ量を持っていない場合、あなたはダミー列を使用することができます。

SELECT Id, we, them from table x where value = 'x' 
UNION 
SELECT Id, we, null as them from table y where value ='y' 
関連する問題