|
|
1
13
对不起,但是你的想法有偏差。 这样想:如果您只想从tb2中为tb1中的每一行选择一行,那么服务器应该选择哪一行?事实上,从联接的定义来看,与左侧行匹配的右侧表中的每一行都是匹配的,必须包括在内。 在连接之前,必须确保tbl2具有不同的c2值。如果您的SQL变体支持不同的[列],Murph的建议可能会做到这一点(并非全部做到)。 |
|
2
4
试用使用
|
|
|
3
4
嗯,查询正在做它应该做的事情,因为在右手边的表中有重复的记录(或者至少有重复的标识符)。 为了达到你想要的效果,比如:
如果这还不够,您需要更详细地解释一下这个需求。 |
|
|
4
3
选择distinct*from@tb1 left outer join@tb2 on c1=c2 |
|
|
5
3
如果只想在左侧保留一行,则需要为左侧的每个唯一值决定要在右侧显示的内容。例如,如果要显示计数,可以执行以下操作:
或者,如果您只希望c2中出现一个值:
|