【问题标题】:Creating a view with two tables, where second table doesn't have unique IDs创建包含两个表的视图,其中第二个表没有唯一 ID
【发布时间】:2015-03-14 17:40:45
【问题描述】:
我对 SQL 很陌生,如果您能在以下内容中提供任何意见,我将不胜感激。
我有两个表,表 A 和表 B。我想创建一个连接这两个表的视图。
表 A 在 user_ID 列下包含一个唯一用户 ID 列表,表 B 也有一个 user_ID 列,但此列表没有唯一用户 ID,因为其他列提供有关这些用户 ID 的更多信息。
请查看第一回复中的图片以获取示例。
我已经阅读了标准的 VIEW 和 JOIN 查询,但是我不确定如何从 A 和 B 创建一个视图,其中“属性 1”中的值将成为它们自己的列视图。
有人可以帮忙解释一下吗?
【问题讨论】:
标签:
mysql
sql
join
view
pivot
【解决方案1】:
试试这个:
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;