我有2张格式低于
的表格TableA TableB
Aid Bid Month value
1 1 October 10
2 1 November 11
3 1 December 12
4 2 November 13
5 2 December 14
3 September 15
3 October 16
4 December 17
5 September 18
使用以下查询
select Aid,Month,value from TableA join TableB on
Aid=Bid where Month = 'December'
我将得到以下结果集
Aid Month Value
1 December 12
2 December 14
4 December 17
但我需要以下结果集
Aid Month Value
1 December 12
2 December 14
3 null null
4 December 17
5 null null
我的意图是我们需要退货,如果出价是在几个月内,那么我们只需要返回12月份的记录,如果出价不是在12月份,那么我们只需要显示该出价的单一空记录。 / p>
最后我们只需要12月份的记录,如果没有12月份的记录,则返回空记录。
请帮忙。
答案 0 :(得分:1)
您正在寻找LEFT JOIN
而不是INNER JOIN
SELECT Aid,
Month,
value
FROM TableA
LEFT JOIN TableB
ON Aid = Bid
AND Month = 'December'
注意:此外,您需要将过滤器移至ON
条件,因为我们使用LEFT JOIN
且过滤列来自{{1表。