Çoka Çok İlişkide Eşleştirme

20/10/2020, 15:40

tarkanaykın

merhaba arkadaşlar,
"INSERT INTO egitimler_kisiler ( kisi_id, egitim_id )
SELECT kisiler.kisi_id, egitimler.egitim_id
FROM egitimler INNER JOIN kisiler ON egitimler.departman = kisiler.departman"

bu kodu daha önce sayın berduş hoca önermişti bana, eğitimler ve kişiler tablolarım var, tablolarının ortak bir alanı var "departman" diye... çok işimi gördü bu kod, şimdi bunu revize etme zamanı... eğitimler tablosundaki departman alanında üç değerim var 1- genel eğitimler, 2- sağlık eğitimleri 3- idari eğitimler. kişiler tablosunda da yine aynı adı daşıyan, yani "departman" alanında ise iki değerim var. 1- idari personel 2- sağlık personeli. istediğim şey şu; eğitimler tablosundaki departman alanındaki "genel eğitimler" değeri, kişiler tablosundaki tüm kayıtlarla eşleşmeli, aynı şekilde "sağlık eğitimleri" de kişiler deki "sağlık personeli ile eşleşmeli, ve son olarak da "idari eğitimler" de , kişiler tablosundaki "idari personel" değerini taşıyan kayıtlarla eşleşmeli. isteğim bu. yukarıdaki kodu nasıl bu doğrultuda revize edebiliriz, dosya gönderme gereği duymadım, isterseniz yükleyebilirim hemen, şimdiden teşekkürler, çok soru soruyorum, diğer arkadaşların hakkına girmiş gibi olmayayım, hepsinden özürdilerim
20/10/2020, 22:32

berduş

diyelim ki genel eğitimId=11 ise Sql kodu
INSERT INTO KISILER_EGITIMLER ( kisiler_id, egitimler_id )
SELECT KISILER.kisi_id, EGITIMLER.egitimler_id
FROM EGITIMLER, KISILER
WHERE (((EGITIMLER.egitimler_id)=11));
olur
21/10/2020, 12:47

tarkanaykın

Bendeki kodun altına ek bir ifade olarak mi yazacam bunu yoksa bendeki kodun revize edilmiş hali mi, ayrı olarak çalışıyor, ama sadece "genel" olan değerleri birleştiriyor, yani bendeki kodun altında calisiyor, lakin aslinda istedigim hem bu hem de diğer eleştirmenler yapacak tek bir ifade, uzun zamandır yogunlasip düşünüyorum nasil yapabiliriz diye sayın berduş hocam,
21/10/2020, 12:54

berduş

Bu genel eğitim için özel kod, 2 yapı farklı olduğu için 2sini birleştirmek pek mümkün değil gibi.
Ilk sorguda her 2 tablodan alanları eşit olan kayıtlar alınırken son sorguda her hangi bir alan esitligi yada ilişki yok o nedenle 2 sorguyu birleştirmek pek mümkün değil gibi.
21/10/2020, 14:25

tarkanaykın

çok teşekkürler, ben de bayağı düşündüm işin içinden çıkamadım sağolun, kolay gelsin.
21/10/2020, 14:36

berduş

Kolay gelsin
Iyi çalışmalar