0
當我執行此:SQL Server的左連接問題
SELECT i.descricao,
sii.quantidade quantidade_inicial,
sii.quantidade * i.valor valor_inicial
FROM itensvalor i
LEFT JOIN saldoinicialprodutositens sii
ON i.id = sii.iditemvalor
AND Isnull(sii.datahoraexclusao, '') = ''
WHERE sii.idSaldoInicialProduto IN (SELECT id FROM saldoInicialProdutos WHERE idmovimentodiario = 76)
它返回:
當我執行此:
SELECT i.descricao,
sfi.quantidade quantidade_final,
sfi.quantidade * i.valor valor_final
FROM itensvalor i
LEFT JOIN saldofinalprodutositens sfi
ON i.id = sfi.iditemvalor
AND Isnull(sfi.datahoraexclusao, '') = ''
WHERE sfi.idSaldoFinalProduto IN (SELECT id FROM saldoFinalProdutos WHERE idmovimentodiario = 76)
它返回: (與R $ 100,00)
但是,最後,當我嘗試加入2個表格時,不會出現指向R $ 100,00的值。
我想使用此查詢加盟:
SELECT i.descricao,
sii.quantidade quantidade_inicial,
sii.quantidade * i.valor valor_inicial,
sfi.quantidade quantidade_final,
sfi.quantidade * i.valor valor_final
FROM itensvalor i
LEFT JOIN saldofinalprodutositens sfi
ON i.id = sfi.iditemvalor
AND Isnull(sfi.datahoraexclusao, '') = ''
LEFT JOIN saldoinicialprodutositens sii
ON i.id = sii.iditemvalor
AND Isnull(sii.datahoraexclusao, '') = ''
WHERE sii.idSaldoInicialProduto IN (SELECT id FROM saldoInicialProdutos WHERE idmovimentodiario = 76)
AND sfi.idSaldoFinalProduto IN (SELECT id FROM saldoFinalProdutos WHERE idmovimentodiario = 76)
移動ON caluse內部的WHERE解決了我的問題。謝謝! –