我需要做一个内部联接,在那里我得到具体数量的"父元素"但是它的所有关系。
如果我有表格代理:
IdAgent | Name
1 | Agent1
2 | Agent2
表Econ
IdEcon IdAgent Number
1 | 1 | number1
2 | 2 | number21
3 | 2 | number22
4 | 2 | number23
所以,如果我做了:
SELECT * FROM Agent LEFT JOIN Econ
我会获得4行
IdAgent | Name | IdEcon IdAgent Number
1 | Name 1 | 1 | 1 | number1
2 | Name 2 | 2 | 2 | number21
2 | Name 2 | 3 | 2 | number22
2 | Name 2 | 4 | 2 | number23
但如果我做了:
SELECT top(2) * FROM Agent LEFT JOIN Econ
我将获得2行,我想要4行(我希望前2只能影响表格代理)
我该如何实现?
答案 0 :(得分:2)
未测试:
SELECT * FROM (Select top(2) * FROM Agent) LEFT JOIN Econ
答案 1 :(得分:1)
您可以单独选择前两个代理,并将结果用作派生表加入Econ
,如jarlh's answer中所示,或者您可以将TOP (2) WITH TIES
与{{1}一起使用}}:
ORDER BY Agent.IdAgent