2018/02/01

CROSS JOIN

--CROSS JOIN...:Tablodaki tüm kayıtları birbiri ile 
--kartezyen çarpım yaparak birbiri ile ilişkilendirir
---------------------------------------------------

--soru...:Hangi personel hangi ürünlerden satış yapmamıştır.
select p.Adi,u.UrunAdi from Personeller  p cross join 
Urunler u --buraya kadar yaptıgımız kartezyen çarpımdır.
except--hangi personel hangi üründen satış yapmıştır.
select p.Adi, u.UrunAdi from Personeller  p 
left join Satislar s on s.PersonelID=p.PersonelID
left join SatisDetay sd on sd.SatisID=s.SatisID
left join Urunler u on u.UrunID=sd.UrunID
group  by p.Adi , u.UrunAdi

---------------------------------------------------
--soru...: Hangi tedarikçiden hangi ürün hiç tedarik edilmemiştir. select t.SirketAdi,u.UrunAdi from Urunler u cross join Tedarikciler t except--aşagıda hangi tedarikçi hangi ürünü tedarik etmiştirin cevabı select t.SirketAdi,u.UrunAdi from Tedarikciler t left join Urunler u on t.TedarikciID=u.TedarikciID group by t.SirketAdi,u.UrunAdi
---------------------------------------------------
--Hangi ürün hangi müşteriye hiç satılmamıştır. select u.UrunAdi,m.MusteriAdi from Urunler u cross join Musteriler m except --Hangi ürün hangi müsteriye satılmıştır. select u.UrunAdi,m.MusteriAdi from Urunler u left join SatisDetay sd on u.UrunID=sd.UrunID left join Satislar s on s.SatisID=sd.SatisID left join Musteriler m on m.MusteriID=s.MusteriID group by u.UrunAdi,m.MusteriAdi