evshi
Новичок
В таблице есть 2 поля: dt (когда добавили фирму), udt (когда обновляли данные фирмы).
dt заполнено у всех фирм. udt только у тех, которые обновляли. Мне надо выводить фирмы с сортировкой по dt или udt, в зависимости от того, что старше.
Если я пишу так "... ORDER BY `udt` DESC, `dt` DESC", то пропускаются фирмы, недавно добавленные (сортировка идет только по обновленным).
Чтобы этого избежать, решил взять значение dt и добавить его в udt (где Null), а потом уже делать сортировку ORDER BY `udt` DESC (только по udt).
Хочется сделать обновление одним запросом. Возможно ли это?
Попытался вот так:
[SQL]
SELECT IF(
`udt` IS NULL, UPDATE `firm` SET `udt`=`dt`, 0
)
FROM `firm`
[/SQL]
Но так ругается. Как поправить запрос?
dt заполнено у всех фирм. udt только у тех, которые обновляли. Мне надо выводить фирмы с сортировкой по dt или udt, в зависимости от того, что старше.
Если я пишу так "... ORDER BY `udt` DESC, `dt` DESC", то пропускаются фирмы, недавно добавленные (сортировка идет только по обновленным).
Чтобы этого избежать, решил взять значение dt и добавить его в udt (где Null), а потом уже делать сортировку ORDER BY `udt` DESC (только по udt).
Хочется сделать обновление одним запросом. Возможно ли это?
Попытался вот так:
[SQL]
SELECT IF(
`udt` IS NULL, UPDATE `firm` SET `udt`=`dt`, 0
)
FROM `firm`
[/SQL]
Но так ругается. Как поправить запрос?