2016-07-18 18 views
1

JV1 - JV6のすべての列を示すSELECT文を作成する必要があります。2つの選択を結合する - 異なる列名

JV2、JV3などのデータを取得するにはどうすればよいですか?

SELECT 
Id as [JV1], 
vp_pct as [JV1 Per], 
vl_role as [JV1 Role], 
[status] as [JV1 Status] 
FROM era_project_allications_m 
WHERE era_project_allications_m.jv_row_id = '1' 
UNION ALL 
SELECT 
Id as [JV2], 
vp_pct as [JV2 Per], 
vl_role as [JV2 Role], 
[status] as [JV2 Status] 
FROM era_project_allications_m 
WHERE era_project_allications_m.jv_row_id = '2' 

JV1、JV2情報を含む列を表示するには結果が必要です。

アドバイスありがとうございます!

+1

本当に助けてくれる人のためにここにいくつかの詳細を記入する必要があります。クロスタブやPIVOTを使いたいと思うようです。 –

+0

テキストとして貼り付けてください。画像は一部のドメインでブロックされますか? – TheGameiswar

+0

組合に加わることは2つの異なることです。ユニオンでは異なる列名を使用することはできませんが、ソーステーブル名(ハードコード)を保持する列を追加して、行がどこから来たのかを理解するのに役立ちます。 –

答えて

1

私はこのことを考え出しました。

私は単純に6つのselect文を使用して、それぞれにエイリアスと一意のID(Select_1_ID、Select_2_IDというプロジェクトID)を与え、Select 1のIDを使用してLEFT JOINしました。

少し長めになっていますが、うまくいきますが、非常に効率的ではないと思われます。ありがたいことに、24k行しか返しません。

4

結合と結合は2つの異なるものです。あなたは労働組合に別の列名を持つことはできませんが、行がどこから来るか、あなたが理解するために(ハードコード)ソーステーブル名を保持する列を追加することができます:あなたのサンプルコードに基づいて

SELECT 
Id, 
vp_pct, 
vl_role, 
[status], 
'1' as sourceId 
FROM era_project_allications_m 
WHERE jv_row_id = '1' 

UNION ALL 

SELECT 
Id, 
vp_pct, 
vl_role, 
[status], 
'2' 
FROM era_project_allications_m 
WHERE jv_row_id = '2' 

かかわらずこれをやりたいだけかもしれません:

SELECT 
Id, 
vp_pct, 
vl_role, 
[status], 
jv_row_id as sourceId 
FROM era_project_allications_m 
WHERE jv_row_id IN('1', '2'...'n') 
+0

私はそれに基づいて各行を表示する必要があります。異なる列のjv_row_idです。 – Justin

関連する問題