为了帮助解释:
Cartesian product/cross join
背景
SELECT
people.id, people.name, people.surname
FROM
people
CROSS JOIN
(SELECT 1 AS foo UNION ALL SELECT 2 UNION ALL SELECT 3) bar;
在其他地方评论了7张表格和42行之后
SELECT
Singles.*
FROM
(
SELECT
Faturalar.faturaNo
,Klinikler.SAPSirketKodu [COMPANY CODE]
,Klinikler.SAPBussinessArea [BUSINESS AREA]
,BasilmisFaturalar.basilmisFatura_id [REFERENCE]
,BasilmisFaturalar.duzenlemeTarihi [DOCUMENT DATE]
,BasilmisFaturalar.duzenlemeTarihi [BASELINE DATE]
,Kurumlar.sapKodu [ACCOUNT]
,Kurumlar.kurumAdi + ' adına '+Faturalar.faturaNo+' nolu fatura' [TEXT]
,BasilmisFaturalar.kdvDahilToplamTutar [AMOUNT]
,BasilmisFaturalar.kdvHaricToplamTutar
,(BasilmisFaturalar.kdvDahilToplamTutar-BasilmisFaturalar.kdvHaricToplamTutar) AS kdvTutari
,CASE
WHEN BasilmisFaturalar.kdvOrani = 0 THEN 'A0'
WHEN BasilmisFaturalar.kdvOrani = 8 THEN '2H'
WHEN BasilmisFaturalar.kdvOrani = 18 THEN '3H'
END [TAX CODE]
,Klinikler.profitCenter [COST CENTER/PROFIT CENTER]
FROM Faturalar
-- Fatura yazdırılmıŠolmalı
INNER JOIN BasilmisFaturalar ON BasilmisFaturalar.basilmisFatura_id = Faturalar.refBasilmisFatura_id
-- YazdırılmıŠfatura iptal edilmemiŠolmalı
INNER JOIN BasiliFaturaIptalTalepleri ON BasiliFaturaIptalTalepleri.refBasilmisFatura_id <> BasilmisFaturalar.basilmisFatura_id
-- Fatura Kurum Detaylarından KURUM bilgilerine
INNER JOIN KurumFaturaDetaylari ON KurumFaturaDetaylari.kurumFaturaDetay_id = BasilmisFaturalar.refKurumFaturaDetay_id
-- Faturanın kesildiÄi kurum
INNER JOIN Kurumlar ON Kurumlar.kurum_id = dbo.KurumFaturaDetaylari.refKurum_id
-- Seanslar üzerinden Klinik bilgilerine böylece SAPcc, SAPba, ProfitCenter a ulaÅıyoruz
INNER JOIN Seanslar ON Seanslar.refFatura_id = Faturalar.fatura_id
INNER JOIN dbo.Klinikler ON dbo.Klinikler.klinik_id = Seanslar.refKlinik_id
-- Belirli bir düzenleme tarihi aralıÄında olmalı
WHERE BasilmisFaturalar.duzenlemeTarihi BETWEEN DATEADD(m,-1,GETDATE()) AND GETDATE()
GROUP BY Faturalar.faturaNo,BasilmisFaturalar.basilmisFatura_id,kdvDahilToplamTutar
,kdvHaricToplamTutar
,BasilmisFaturalar.kdvOrani
,BasilmisFaturalar.duzenlemeTarihi
,Kurumlar.sapKodu
,Klinikler.SAPBussinessArea
,Klinikler.SAPSirketKodu
,Klinikler.profitCenter
,Kurumlar.kurumAdi
) Singles
CROSS JOIN
(SELECT 1 AS foo UNION ALL SELECT 2 UNION ALL SELECT 3) Multiplier;