Merhaba arkadaşlar;

Projeyi yazarken bir noktada takıldım ve yardımlarınıza ihtiyacım var. Yardımcı olanlara şimdiden çok teşekkür ederim.

Mevzu şu şekildedir;

A tablom var ve burada x sütunumun 4,5,6 şeklinde tutuluyor.
B tablom var burda y sütunumun değeri A tablosundaki x sütununun tek hali yani 5 veya 6.

Yapmam gereken işlem şu şekilde;
A tablosundaki verileri, A tablosunun x sütununda bulunan değerler B tablosunda y sütununda ki değerlerle eşleşiyorsa veri listele eşleşmiyorsa listeleme.

Yani bir örnekle açıklamak gerekirse;
A TABLOM
ID - X DEĞERİ
1 - 3,4,5
2 - 4,5,6

B TABLOM
ID - A KAYDI - Y DEĞERİ
1 - 1 - 3
2 - 1 - 4
3 - 1 - 5
4 - 2 - 4
5 - 2 - 5

Yukarda görüldüğü gibi A tablomda 1 ID sinde 3 değer var ve B tablomda da bu 3 değer var ve değer numaraları eşleşiyor veriyi getirmesi gerek. Ancak 2 ID sinde 3 değer var fakat B tablomda 2 kayıt var eşleşiyor fakat 6 nolu değer olmadığı için veriyi getirmemesi gerekli.

SELECT DISTINCT a.id,
(SELECT COUNT(*) FROM b_tablosu
WHERE a_kaydi= a.id AND durum = '1') AS degerlendirme_sayisi,
(CHAR_LENGTH(x_degeri) - CHAR_LENGTH(REPLACE(x_degeri, ',', '')) + 1) as degerlendirici_sayisi
FROM a_tablosu AS a LEFT JOIN b_tablosu AS b ON b.a_kaydi= a.id HAVING degerlendirme_sayisi = degerlendirici_sayisi
Yukarıdaki kodda sadece verilerin sayısına göre listeletebiliyorum lakin 1 değeri için b tablosunda 3, 4, 6 olsa bile verileri listeleyecek.

Normalde php ile birkaç kademede çözebilirim lakin yapmak istediğim şey sadece tek bir mysql sorgusuyla bu işlemi halletmek. Bahsettiğim konu tek mysql sorgusuyla halledilebilir mi?