Задавайте вопросы, мы ответим
Вы не зашли.
Всем привет!
Не подскажите, как сократить такую запись, чтобы избежать дублирования?
Отредактированно tazododu (06.10.2012 14:57:04)
Неактивен
Можно так
Неактивен
evgeny написал:
Можно так
SELECT
IF(@a:=TRIM(CONCAT(`users`.`name`, ' ', `users`.`lastname`)) <> '',@a, `fullname`) AS `name`
Ого! Я и не знал про пользовательские переменные! Передо мной открыты теперь огромные возможности
Спасибо!
Неактивен
evgeny написал:
Можно так
SELECT
IF(@a:=TRIM(CONCAT(`users`.`name`, ' ', `users`.`lastname`)) <> '',@a, `fullname`) AS `name`
Так нельзя. В данном случае переменная @a будет равна результату сравнения TRIM(CONCAT(`users`.`name`, ' ', `users`.`lastname`)) и '', т.е. будет принимать значение 0 или 1.
Нужно сначала провести присвоение переменной, а потом сравнение, т.е.
Неактивен
vasya написал:
evgeny написал:
Можно так
SELECT
IF(@a:=TRIM(CONCAT(`users`.`name`, ' ', `users`.`lastname`)) <> '',@a, `fullname`) AS `name`Так нельзя. В данном случае переменная @a будет равна результату сравнения TRIM(CONCAT(`users`.`name`, ' ', `users`.`lastname`)) и '', т.е. будет принимать значение 0 или 1.
Нужно сначала провести присвоение переменной, а потом сравнение, т.е.SELECT
IF((@a:=TRIM(CONCAT(`users`.`name`, ' ', `users`.`lastname`))) <> '',@a, `fullname`) AS `name`
Спасибо за замечание!
Неактивен