Salam, sorğuda 3 ədəd tablodan məlumat çəkirəm,
SELECT t1.id, t1.name, t1.added, t1.content, t1.channel, t1.user, t1.section, t2.id, t2.name, t2.authorid, t3.id, t3.login, t3.name from `modul` t1 INNER JOIN razdel t2 on t1.channel=t2.id or t1.section=t2.id INNER JOIN members t3 on t1.user=t3.id group by t1.id order by t1.added DESC
Lakib burda yuxarıda “or” olan hissəyə fikir verin (t1.channel=t2.id or t1.section=t2.id), orda elə sütunlar var ki, hər iki şərt yerinə yetirilir, bu zaman t1.section=t2.id birinci yoxlanılır ona uyğun olan nəticə göstərilir, lakin t1.channel yoxlanılmır.İndi mənə əsas lazım olan şey odur ki, birincilik (priority) t1.channel=t2.id buna verilsin, əgər bu şərt ödəmirsə onda o halda ikinci t1.section=t2.id parametrinə uyğun olsun.
Qeyd: priority-nin t1.section-da olmasını, t2.name-dəki nəticələrə əsasən bilirəm.
Bunu necə həll etmək olar?
Verilmiş cavablar və yazılan şərhlər (3 cavab var)
0
Salam. t1.channel=t2.id bu sətri mötərizə ilə yoxla. (t1.channel=t2.id)
0
Onda da yalnız, o parametrə uyğun nəticələr çıxır, mənə isə lazımdır hər iki parametrdəki nəticələr çıxsın lakin birinci channellər yoxlanılsın.
1
Belə yoxla
Sual verin
Cavab verin