使用两个表创建视图,其中第二个表没有唯一ID

时间:2015-01-16 06:37:58

标签: mysql sql join view pivot

我是SQL的新手,非常感谢您可以提供以下任何输入。

我有两个表,表A和表B.我想创建一个连接两者的视图。

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

请参阅第一个回复中的图片以获取示例。

我已经对标准的VIEW和JOIN查询做了一些阅读,但是我不知道如何从A和B创建一个视图,其中'Attribute 1'中的值将成为他们自己的列观点。

有人可以帮忙解释一下吗?

1 个答案:

答案 0 :(得分: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;