我的数据库中有这些数据
+--------------+------------+
| TRX_DATE | AMOUNT |
+--------------+------------+
| 2012-12-01 | 100.00 |
| 2012-12-07 | 125.00 |
+--------------+------------+
我需要这些数据左加入“生成完整的月行”像这样
+--------------+------------+-------------+
| DATE | TRX_DATE | AMOUNT |
+--------------+------------+-------------+
| 2012-12-01 | 2012-12-01 | 100.00 |
| 2012-12-02 | NULL | NULL |
....
| 2012-12-07 | 2012-12-07 | 125.00 |
....
+--------------+------------+-------------+
如何做到这一点,谢谢你。
编辑:更多澄清问题
答案 0 :(得分:1)
我认为您所需要的只是月份的两个日期之间的日期,然后您可以左键加入它。
DECLARE @startDate DATETIME
DECLARE @endDate DATETIME
SET @startDate = '2012-12-01'
SET @endDate = '2011-12-31';
WITH dates(Date) AS
(
SELECT @startdate as Date
UNION ALL
SELECT DATEADD(d,1,[Date])
FROM dates
WHERE DATE < @enddate
)
SELECT Date
FROM dates
LEFT JOIN yourtablename ON yourtablename.trx_date=dates.date
see the SOURCE: - 链接会向您展示一些实现此目的的好方法。
答案 1 :(得分:0)
SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.trx_date = table_name2.trx_date
您需要加入两个表中的唯一数据。