这是我的查询。我想要BF的所有行和匹配的FT行。它只返回2行,但实际行数为135.我应该如何更改我的查询?SQL Server中的外部连接问题
SELECT
BF.FaturaNo,
K.KlinikAdi,
FT.teslimAlindi,
FT.TeslimAciklama,
FT.kurumTeslimAldi,
FT.kurumTeslimAciklama,
BF.basilmisFatura_id,
K.klinik_id
FROM
BasilmisFaturalar AS BF
LEFT OUTER JOIN
FaturaTeslim AS FT
ON FT.refBasilmisFatura_id = BF.BasilmisFatura_id
INNER JOIN
Klinikler AS K
ON BF.refKlinik_id = K.klinik_id
INNER JOIN
Faturalar AS F
ON F.refBasilmisFatura_id = BF.basilmisFatura_id
WHERE
BF.FaturaNo LIKE '%%'
AND BF.refklinik_id IN ('24','25','26','27')
AND MONTH(F.faturaTarihi) = 7
AND teslimAlindi = 0
AND kurumTeslimAldi = 0
GROUP BY
F.refBasilmisFatura_id,
BF.FaturaNo,
K.KlinikAdi,
FT.teslimAlindi,
FT.TeslimAciklama,
FT.kurumTeslimAldi,
FT.kurumTeslimAciklama,
BF.basilmisFatura_id,
K.klinik_id
ORDER BY
faturaNo ASC
拥有_BF.FaturaNo LIKE'%%'_与_BF.FaturaNo IS不是NULL_(我测试过)相同,这可能不是他们的意图,因为这个查询看起来像是动态构建的...我并不是投票!我同意你的看法,我认为他们需要逐个删除部分查询,并继续运行并查看结果,OP缺少一些东西。 – 2009-08-28 14:15:42
感谢您的信息,我更改了我的回复以反映它。 – recursive 2009-08-28 14:17:29
+1,我仍然认为欧普需要尝试减少查询 – 2009-08-28 14:37:51