创建包含两个 table 的视图,其中第二个 table 没有唯一 ID

Creating a view with two tables, where second table doesn't have unique IDs

我是 SQL 的新手,如果您能提供以下内容,我将不胜感激。

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

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

请查看第一个响应中的图片以获取示例。

我已经阅读了一些关于标准 VIEW 和 JOIN 查询的资料,但是我不确定如何从 A 和 B 创建一个视图,其中 'Attribute 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;