我是SQL的新手,非常感谢您可以提供以下任何输入。
我有两个表,表A和表B.我想创建一个连接两者的视图。
表A包含列user_ID下的唯一用户ID列表,表B也有列user_ID,但此列表没有唯一的用户ID,因为其他列提供了有关这些用户ID的更多信息。
请参阅第一个回复中的图片以获取示例。
我已经对标准的VIEW和JOIN查询做了一些阅读,但是我不知道如何从A和B创建一个视图,其中'Attribute 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;