Help за Selects, pls
2 отговора
146 прегледа
Help за Selects, pls
Значи на въпроса:
пробвам да напиша един по-сложен Select, т.е. този :
SELECT u.* FROM t1 u, t2 rm, t3 r
WHERE (u.u1 = rm.u1 AND rm.r1 = r.r1
AND SUBSTRING(r.r1,1,3) = 'sp_') ORDER BY u.u1
UNION
SELECT u.* FROM t1 u
WHERE NOT EXISTS (SELECT rm1.* FROM t2 rm1 WHERE rm1.u1 = u.u1 )
значи, 1-вия Select съмостоятелно си бачка, но се сетих че трябва да ми вади и други резултати ... т.е. 2-рия ... когато опитвам да пусна само 2-рия, но ми дава грешка някаде около EXISTS-а.
Дайте акъл.
Опаааа ... значи тоwва го пробвам на MySQL v4.0.18
пробвам да напиша един по-сложен Select, т.е. този :
SELECT u.* FROM t1 u, t2 rm, t3 r
WHERE (u.u1 = rm.u1 AND rm.r1 = r.r1
AND SUBSTRING(r.r1,1,3) = 'sp_') ORDER BY u.u1
UNION
SELECT u.* FROM t1 u
WHERE NOT EXISTS (SELECT rm1.* FROM t2 rm1 WHERE rm1.u1 = u.u1 )
значи, 1-вия Select съмостоятелно си бачка, но се сетих че трябва да ми вади и други резултати ... т.е. 2-рия ... когато опитвам да пусна само 2-рия, но ми дава грешка някаде около EXISTS-а.
Дайте акъл.
Опаааа ... значи тоwва го пробвам на MySQL v4.0.18
Редактирано от Builder на
Re: Help за Selects, pls
Ми във втория СЕЛЕКТ имаш вложена заявка (СЕЛЕКТ в СЕЛЕКТ) - това MySQL 4.0.XX не го поддържа. Пробвай да направиш upgrade до 4.1 или си пренапиши заявките.
Успех.
Успех.
Re: малко встрани от темата
Вместо
SUBSTRING(r.r1,1,3) = 'sp_')
използвай
LEFT (r.r1, 3) = 'sp_'
или още по-добре
r.r1 LIKE 'sp\_%'
SUBSTRING() няма да използва индекс докато LEFT и LIKE могат.
salle.online.bg/sig
SUBSTRING(r.r1,1,3) = 'sp_')
използвай
LEFT (r.r1, 3) = 'sp_'
или още по-добре
r.r1 LIKE 'sp\_%'
SUBSTRING() няма да използва индекс докато LEFT и LIKE могат.
salle.online.bg/sig