Tamam bu (kesildi sorgu) iyi çalışır. Bunu düzeltmek için bir ay önce bazı uzman tavsiyesi var.
SELECT * FROM artWork WHERE art_id in (
SELECT art_id FROM artWork AS a INNER JOIN userPrefs AS u ON ((
((u.media_oil='1' AND a.media_oil='1') OR
(u.media_acrylic='1' AND a.media_acrylic='1') OR
(u.media_wc='1' AND a.media_wc='1') OR
(u.media_pastel='1' AND a.media_pastel='1'))
etc, etc........................................
WHERE a.artist_id NOT EXISTS (
SELECT * FROM removeList AS r
WHERE r.artist_id = a.artist_id
AND r.user_id ='$user_id')
AND a.make_avail='1'
AND a.cur_select='1'
AND u.user_id='$user_id'
AND ((u.pref_painting='1' AND a.pref_painting='1') OR
(u.pref_photo='1' AND a.pref_photo='1') OR
(u.pref_paper='1' AND a.pref_paper='1') OR
(u.pref_print='1' AND a.pref_print='1') OR
(u.pref_draw='1' AND a.pref_draw='1') OR
(u.pref_sculp='1' AND a.pref_sculp='1') OR
(u.pref_install='1' AND a.pref_install='1') OR
(u.pref_vid='1' AND a.pref_vid='1') OR
(u.pref_public='1' AND a.pref_public='1') OR
(u.pref_indef='1' AND a.pref_indef='1'))
) ORDER BY date_submit DESC
'RemoveList': Ama şimdi başka 2 sütuna (User_id & artist_id) alt tablosu olabilir belirli satırları dışlamak gerekir. Yani tutarı ne başarı olmadan çalışıyorum bir ('MEVCUT DEĞİL' etrafında kodu arayın) "üçlü join":
SELECT * FROM artWork WHERE art_id in (
SELECT art_id FROM artWork AS a INNER JOIN userPrefs AS u ON (
(((u.media_oil='1' AND a.media_oil='1') OR
(u.media_acrylic='1' AND a.media_acrylic='1') OR
(u.media_wc='1' AND a.media_wc='1') OR
(u.media_pastel='1' AND a.media_pastel='1'))
etc, etc........................................
WHERE a.artist_id NOT EXISTS (
SELECT * FROM removeList AS r
WHERE r.artist_id = a.artist_id AND r.user_id ='$user_id'
)
AND a.make_avail='1'
AND a.cur_select='1'
AND u.user_id='$user_id'
AND (( u.pref_painting='1' AND a.pref_painting='1') OR
( u.pref_photo='1' AND a.pref_photo='1') OR
( u.pref_paper='1' AND a.pref_paper='1') OR
( u.pref_print='1' AND a.pref_print='1') OR
( u.pref_draw='1' AND a.pref_draw='1') OR
( u.pref_sculp='1' AND a.pref_sculp='1') OR
( u.pref_install='1' AND a.pref_install='1') OR
( u.pref_vid='1' AND a.pref_vid='1') OR
( u.pref_public='1' AND a.pref_public='1') OR
( u.pref_indef='1' AND a.pref_indef='1') )
) ORDER BY date_submit DESC
Ben buradan çok uzak ulaşıyor muyum? Ben bakan ediyorum daha iyi bir yaklaşım var. Herkese teşekkürler.