2015-01-16 45 views
1

我对SQL很陌生,希望能在下面提供任何输入。使用两个表创建视图,其中第二个表没有唯一ID

我有两个表,表A和表B.我想创建一个视图,加入这两个。

表A包含列user_ID下的唯一用户ID列表,而表B也具有列user_ID,但此列表没有唯一的用户ID,因为其他列提供了有关这些用户ID的更多信息。

请参阅第一个响应中的图像的例子。

我已经对标准的VIEW和JOIN查询做了一些阅读,但是我不确定如何从A和B创建视图,其中'属性1'中的值将成为它们自己的列在视图中。

任何人都可以请帮忙解释一下吗?

+0

表A:http://s23.postimg.org/d7lcej80b/post_663929_142092353132.png 表B:http://s4.postimg.org/prvyql8dp/post_663929_142092358474.png 查看:http://s9.postimg.org/co1a64q5r/post_663929_142092358996.png – Rath

回答

0

尝试这种情况:

CREATE VIEW VW_User AS 
SELECT A.User_ID, A.Name, A.Email, 
     MAX(CASE WHEN B.Attribute1 = 'a' THEN B.Attribute2 ELSE '' END) AS 'a', 
     MAX(CASE WHEN B.Attribute1 = 'b' THEN B.Attribute2 ELSE '' END) AS 'b', 
     MAX(CASE WHEN B.Attribute1 = 'c' THEN B.Attribute2 ELSE '' END) AS 'c' 
FROM tableA A 
LEFT JOIN tableB B ON A.User_ID = B.User_ID 
GROUP BY A.User_ID; 
+1

谢谢,这个作品很棒! – Rath

相关问题