Kalo menurut saya, anda harus membuat 2 query agar bisa menampilkan data 
sesuai dengan yang anda harapkan:
Query1
Select Toko.NmToko, 0 AS Penjualan, 0 AS Retur From Toko
UNION
Select Toko.NmToko, Penjualan.Total, 0 AS Retur From Toko Inner Join 
Penjualan ON Toko.KdToko = Penjualan.KdToko
UNION
Select Toko.NmToko, 0 AS Penjualan, Retur.Total From Toko Inner Join 
Retur ON Toko.KdToko = Retur.KdToko


Query2
Select Query1.NmToko, Sum(Query1.Penjualan) AS Penjualan, 
Sum(Query1.Retur) AS Retur Group By Query1.NmToko

Jadi yang anda jalankan adalah Query2...

Semoga Membantu...

zulfikri zulfikri wrote:
>
> Ada 3 Tabel
>
> 1. Toko
> - kdtoko
> -Nmtoko
>
> 2. Penjualan
> -NoFak
> -Kdtoko
> -Total
>
> 3. Retur
> -NoRetur
> -Kdtoko
> -Total
>
> Gimana caranya menampilkan Data semua Toko,baik yag ada transaksi 
> (penjualan,retur) atau tidak ada transaksi
>
> |Nm Toko | Penjualan | Retur |
> aaaa 200 30 --> kalo ada transaksi penjualan dan reyur
> bbb 300 0 ---> jika yg ada penjualan aja
> ccccc 0 0 ----> jika tidak ada transaksi sama sekali
> dddd 0 20 ----> jika yg ada retur aja
>
> saya udah coba Query seperti ini :
>
> "select buyer.nobuyer,nmbuyer,sum(isnull(penjualan.totbersih,0)) as 
> TotalRR,sum(isnull(retur.totalretur,0)) as TotalRetur
> from buyer left outer join toko on buyer.nobuyer=toko.nobuyer left 
> outer join penjualan on toko.kdtoko=penjualan.kdtoko and 
> month(tglrr)='03' and year(tglrr)='2008'
> left outer join retur on toko.kdtoko=retur.kdtoko and 
> month(retur.tglinput)='03' and year(retur.tglinput)='2008'
> group by buyer.nobuyer,nmbuyer order by buyer.nobuyer"
>
> Tapi Kalo saya Cek Hasilnya Ga benar.
> kalo toko yg hanya ada transaksi salah satunya hasilnya benar
> tapi kalo toko yang ada transaksi keduanya (penjualan dan retur) 
> hasilnya ga benar
>
> Ada yg bisa bantuian ga?
> Terima KAsih
>
>
>
>
>
>
> [Non-text portions of this message have been removed]
>
>  

Kirim email ke