0

2 つのテーブルに基づいてビューを作成しようとしています。

メンバー:

ID  Lang1_ID  Lang2_ID - all tinyint
1   2         3
2   2         4
3   1         4

言語:

ID  Title - tinyint, varchar(50)
1   English
2   French
3   Spanish
4   Portuguese

以下を含むすべてのタイトルでビューを作成したい:

member_id, Lang1_Title, Lang2_Title

必要な結果:

1  French  Spanish
2  French  Portuguese
3  English Portuguese
4

1 に答える 1

1
SELECT m.id member_id, l.Title Lang1_Title, l2.Title Lang2_Title
  FROM Member m LEFT JOIN 
       Language l ON m.Lang1_ID = l.ID LEFT JOIN
       Language l2 ON m.Lang2_ID = l2.ID

出力

| MEMBER_ID | LANG1_TITLE | LANG2_TITLE |
-----------------------------------------
|         1 |      French |     Spanish |
|         2 |      French |  Portuguese |
|         3 |     English |  Portuguese |

sqlfiddle の例

そして景色

CREATE VIEW viewname
AS
SELECT m.id member_id, l.Title Lang1_Title, l2.Title Lang2_Title
  FROM Member m LEFT JOIN 
       Language l ON m.Lang1_ID = l.ID LEFT JOIN
       Language l2 ON m.Lang2_ID = l2.ID

そして、それを使用してください

SELECT * FROM viewname

sqlfiddle の例

于 2013-03-06T00:38:28.960 に答える