2 つの同義語を参照してビューを作成しました。ビュー テーブルを取得する必要がある現在のクエリは次のとおりです。
SELECT dbo.synonym1.JobNo
, dbo.synonym1.Customer
, dbo.synonym2.PostalService
, dbo.synonym2.FirstDate
, dbo.synonym2.SecondDate
FROM dbo.synonym1
INNER JOIN dbo.synonym2 ON dbo.synonym1.JobNo = sbo.synonym2.JobNo
WHERE dbo.synonym2.PostalService = 'UPS'
ここで、各行とdbo.synonym2.FirstDate
同じ行の違いを、違いがあれば何度でもビュー テーブルに戻したいと思います。dbo.synonym2.SecondDate
INSERT
たとえば、FirstDate
is2012-06-03 00:00:00.000
とSecondDate
isの場合2012-06-05 00:00:00.000
、同じ行を 2 回挿入する必要があります。
私は SQL Server 2008 R2 を使用しており、SQL の初心者です。私を助けてください
ビューで上記のクエリを使用して現在取り込まれているサンプル データは次のとおりです。
JobNo Customer PostalService FirstDate SecondDate
1 ABC UPS 2012-06-03 00:00:00.000 2012-06-03 00:00:00.000
2 DEF UPS 2012-06-03 00:00:00.000 2012-06-06 00:00:00.000
3 XYZ UPS 2012-06-03 00:00:00.000 2012-06-05 00:00:00.000
以下のような結果が必要です
JobNo Customer PostalService FirstDate SecondDate
1 ABC UPS 2012-06-03 00:00:00.000 2012-06-03 00:00:00.000
2 DEF UPS 2012-06-03 00:00:00.000 2012-06-05 00:00:00.000
2 DEF UPS 2012-06-03 00:00:00.000 2012-06-05 00:00:00.000
2 XYZ UPS 2012-06-03 00:00:00.000 2012-06-05 00:00:00.000
3 XYZ UPS 2012-06-03 00:00:00.000 2012-06-06 00:00:00.000
3 XYZ UPS 2012-06-03 00:00:00.000 2012-06-06 00:00:00.000
JobNo 2 の日付の差が 3 である場合、データは 3 回繰り返されます。JobNo 3 は 2 であるため、データは 2 回繰り返されます。