这是我的选择查询:选择查询具有鲜明的上一米田
SELECT
[T1].[Id], [T2].[Id] , [T3].[Id]
FROM [T1]
INNER JOIN [T2] On [T1].[Id] = [T2].[T1Id]
INNER JOIN [T3] On [T2].[Id] = [T3].[T2Id]
结果是:
1 1 1
1 2 2
1 2 3
2 3 4
2 3 5
3 4 1
但我需要的是[T1].[Id]
事情是这样的不同:
1 1 1
2 3 4
3 4 1
这是不重要的第一个记录的Id返回,所以结果可能是:
1 2 2
2 3 4
3 4 1
,但重要的是,每条记录的列有一个逻辑关系,所以我不能使用Min
或Max
功能。我认为的第一个解决方案是将值插入临时表并删除重复项。
但我认为这必须是更好的方法?在选择查询中的东西。
有没有人有这方面的想法?
你要哪的1行的? '1 1 1','1 2 2'还是'1 2 3'?更重要的是,为什么? (也就是说,不要说“第一个”,比如说“第三列最高的那个,或者可以通过程序检查的东西) –
正如Lasse所说的,在数据库方面,返回哪些数据总是很重要。即使你不在意,你也需要知道为什么。基本上,如果它返回1,1,1或1,2,3并不重要,那么为什么它会返回第二个和第三个值所有,因为你无法从中提取可靠的数据?除非你只是检查T1是否被T2和T3引用,这也是必要的信息,可以影响这里的规格:) – Kahn
@ LasseV.Karlsen我得到你说的是什么,但是假设我只需要T1,T2,T3之间的关系,这很重要,不是哪个关系。 –