【问题标题】:How to create a View with 4 tables?如何创建一个有 4 个表的视图?
【发布时间】:2017-04-05 14:31:39
【问题描述】:

我有四张桌子

Table 1
-------------
primary key-pk1


Table 2
------------
primary key-pk2
foreign key-pk1


Table 3
------------
primary key-pk3
foreign key-UID


Table 4
------------
primary key-pk4
foreign keys-pk1,UID,pk3


Table U
------------
primary key-UID

我想创建一个包含表 1、表 2、表 3 和表 4 的视图,即使表 2 和表 3 中没有内容,我也应该得到 join ,即匹配的内容表 1 和表 4。

表1和表4中总会有内容。表2和表3可能有内容,也可能没有内容

提前致谢:)

【问题讨论】:

标签: sql database sql-server-2012


【解决方案1】:

尝试使用左连接。应该像这样工作:

SELECT *  
FROM TABLE_1 tb1
JOIN TABLE_4 tb4 ON tb1.pk1 = tb4.pk1
JOIN TABLE_U tbU ON tb4.UID = tbU.UID
LEFT JOIN TABLE_2 tb2 ON tb1.pk1 = tb2.pk1
LEFT JOIN TABLE_3 tb3 ON tb4.UID = tb3.UID

顺便说一下,尝试列出您实际需要的所有字段,而不是使用“SELECT *”,因为这样更利于可读性和性能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多