虽然我在互联网上查看了不同的示例,但我无法从多个表中选择数据。我有2张桌子。
1st has 'logUID', 'groupUID' field.
另一个
2nd has 'logUID' , 'User ID' , 'LogEntry' , 'LogTypeUID'
我想要完成的是获取LogUID彼此匹配的日志条目并返回groupUID字段,因此我知道日志所针对的组。当我尝试选择或加入时,我似乎正在重复一个logUID字段。
SELECT TOP 10000 [log].[dbo].[Logs].[LogUID], [log].[dbo].[LogGroups].[LogUID], [Weblog].[dbo].[LogGroups].[GroupUID]
FROM [log].[dbo].[LogGroups], [log].[dbo].[Logs] INNER JOIN [log].[dbo].[LogGroups] as LG
ON [log].[dbo].[Logs].[LogUID] = LG.LogUID ;
任何帮助。
答案 0 :(得分:1)
删除额外的FROM [log].[dbo].[LogGroups],
答案 1 :(得分:0)
你有[LogGroups]
表两次......
FROM table1, table2
表示table1 CROSS JOIN table2
所以,只需将您的代码更改为以下内容......
SELECT TOP 10000
[Logs].[LogUID],
[LogGroups].[LogUID],
[LogGroups].[GroupUID]
FROM
[log].[dbo].[Logs]
INNER JOIN
[log].[dbo].[LogGroups]
ON [Logs].[LogUID] = [LogGroups].LogUID ;
答案 2 :(得分:-1)
首先,您需要在已创建的表之间创建关系。创建关系后,您可以使用两列创建关键关系。因此,无论第一个表的logUID字段中的数据是什么,相同的数据都会进入第二个表的logUID字段。这样可以帮助您从两个表中获取数据。
希望这会有所帮助。