sql - 如何使用Join连接三个Sql表的列数据
问题描述
我有四个表,我必须在其中加入数据列。我使用了交叉连接,最后我得到一些重复两次或多次的值。请帮忙。
我在我的 sql 脚本代码中尝试过的事情是:
CREATE VIEW [dbo].[View_1]
AS
SELECT dbo.Table3.ID, dbo.Table4.Usertyp, dbo.Table4.reserved, dbo.Table2.Lotnumber, dbo.Table3.Current, dbo.Table3.Reading, dbo.Table1.LoginName, dbo.Table3.Start
FROM dbo.Table1 CROSS JOIN
dbo.Table2 CROSS JOIN
dbo.Table3 CROSS JOIN
dbo.Table4
GO
然后当我执行时,我多次输入数据,我做错了什么。请帮忙。我需要表 3 中的 ID,Table4 第一行中的 Usertyp,table4 中保留,Table2 第一行数据中的 Lotnumber。我如何使用四个表数据将所有串行条目带到一个新表中。谢谢你。
解决方案
问题是您正在使用交叉连接。不要那样做。这结合了每个组合中每个表的每一行。那会很快变得丑陋。
以下内容应该可以帮助您到达那里,但是,没有足够的信息来匹配您的表 4。所以一旦你弄清楚了,你应该能够继续我列出的这种方法:
CREATE VIEW [dbo].[View_1]
AS
SELECT dbo.Table3.ID
, dbo.Table4.Usertyp
, dbo.Table4.reserved
, dbo.Table2.Lotnumber
, dbo.Table3.Current
, dbo.Table3.Reading
, dbo.Table1.LoginName
, dbo.Table3.Start
FROM dbo.Table3 t3
INNER JOIN dbo.Table1 t1 on t3.UserID = t1.ID
INNER JOIN dbo.Table2 t2 on t3.LotID = t2.LotID
INNER JOIN dbo.Table4 ....
GO
推荐阅读
- google-apps-script - ARRAYFORMULA() 以便它在除列的最后一个单元格之外的整个列中工作 - Google 表格
- javascript - 带有 Observables 和 FireAuth 的 Angular 11 Guard
- python - Python中的浮点字符串到IEEE 754 binary128
- powershell - Powershell斜线后两个dota的含义
- python - 按下按钮时如何更新 PyQt5 标签文本?
- javascript - 如果不单击“加载更多”按钮,API 中的对象不会呈现
- mysql - 当没有受影响的行时,如何中断 MySQL 查询的循环?
- apt - 如何使用 apt 以非交互方式安装 pip?
- python - Plotly Python:基于多个图表的 x 轴范围选择器重新缩放 y 轴
- javascript - Vimeo SDK:初始化后未知的播放器错误(VueJS)