帖子已更新以显示实际的数据库信息/表/列等。
我是SQL的新手,但是学习很快。我在该论坛上查看了一些Youtube解释以及一些答案,但是我无法将它们与我的情况联系起来。 我有一个数据库,其中有三个要从中提取数据的表。所有这三个表的列都是常量,即。包含唯一的参考号。
在数据库“树”下,我有:
nice_interactions
nice_storage_center
在nice_interactions
中,我有三个表,它们需要以下信息:
dbo.tblInteraction77
dbo.tblParticpant77
dbo.tblRecording77
我需要的dbo.tblInteraction77
中的列是:
[iInteractionID] - *this is the unique field amongst all tables*
[dtInteractionGMTStartTime]
[dtInteractionGMTStopTime]
[biInteractionDuration]
我需要的dbo.tblParticpant77
中的列是:
[iInteractionID]
[nvcStation]
[iSwitchID]
[tiDeviceTypeID]
[nvcCTIAgentName]
在nice_storage_center
中,我有一个表需要从中获取数据:
dbo.tblStorageCenter77
dbo.tblStorageCenter77
中的列是:
[iInteractionID]
[iLoggerID]
[iLoggerResource]
那有意义吗?
我已经设法使用WHERE
来查询两个表,但是要查看文本或视频等内容,尝试切换到某种类型的JOIN
并不容易。
在此先感谢您提供的帮助。
致谢
Netrix
答案 0 :(得分:0)
您似乎正在寻找所有4个表之间的简单JOIN:
SELECT
i.iInteractionID,
i.dtInteractionGMTStartTime,
i.dtInteractionGMTStopTime,
i.biInteractionDuration,
p.nvcStation,
p.iSwitchID,
p.tiDeviceTypeID,
p.nvcCTIAgentName,
c.iLoggerID,
c.iLoggerResource
FROM
dbo.tblInteraction77 i
INNER JOIN dbo.tblParticpant77 p ON p.iInteractionID = i.iInteractionID
INNER JOIN dbo.tblRecording77 r ON r.iInteractionID = i.iInteractionID
INNER JOIN dbo.tblStorageCenter77 c ON c.iInteractionID = i.iInteractionID
这将根据每个表的tblInteraction77
调出UniqueRef
中所有(至少)在其他表中具有对应记录的所有记录。它应该返回您期望的列。
所有4个表中都不存在的记录将不会显示在结果中。您可以将INNER JOIN
切换为LEFT JOIN
,以使关系成为可选。
答案 1 :(得分:0)
JOIN
是您要寻找的东西,因为您要在表之间移动,所以内部Join仅在单个表本身之间使用。如果您可以显示手头的问题,我也许可以为您提供更多帮助。