0

データベースにこれらのデータがあります

+--------------+------------+
| 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    |
....
+--------------+------------+-------------+

やり方ありがとうございます。

編集:より明確な質問

4

2 に答える 2

1

必要なのは、月の2つの日付の間の日付だけで、それで左結合できると思います。

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 

ソースを参照してください:-リンクは、これを達成するための優れたテクニックを示しています。

于 2012-12-15T17:59:10.350 に答える
0

SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.trx_date = table_name2.trx_date

両方のテーブルの一意のデータを結合する必要があります。

于 2012-12-15T17:36:19.493 に答える