我有标题和明细文件(例如发票标题和发票明细)
SELECT InvH, Line FROM InvHed join InvDet on (invH = invD) where VoidLine = ''
通常当你加入这些时,你会得到一个这样的列表:
Invoice Line
123456 2
123456 3
123456 4
123456 6
123457 1
123457 2
123457 3
请注意,第一个细节线可能不会被编码为1.这里恰好是2。
我实际上想要构造一个SQL语句,以便第一个细节线重复。
Invoice Line
123456 2
123456 2
123456 3
123456 4
123456 6
123457 1
123457 1
123457 2
123457 3
结果应按发票/行(已添加)
排序答案 0 :(得分:1)
尝试
SELECT InvH, Line FROM InvHed join InvDet on (invH = invD) where VoidLine = ''
UNION ALL
SELECT InvH, MIN(Line) FROM InvHed join InvDet on (invH = invD) where VoidLine = '' GROUP BY InvH
请注意,如果这对您很重要,您将需要指定结果的排序(您没有在问题中指出它。)
答案 1 :(得分:0)
这适用于Group and Order ......
SELECT InvH, Line
FROM InvHed join InvDet on (invH = invD)
WHERE VoidLine = ''
UNION ALL
SELECT InvH, MIN(Line) as Line
FROM InvHed join InvDet on (invH = invD)
WHERE VoidLine = ''
GROUP BY InvH, Line
ORDER BY InvH, Line