Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

SQL помогите. я уже теряю надежду (

Анатолий Фёдоров Ученик (92), на голосовании 11 лет назад
$result = mysql_query ("SELECT id,city,phone FROM arenda",$db);

Как в этот запрос вставить следующее:

Если поле city = "Краснодар" то $myrow["phone"] = "Скрыто"; где city = "Краснодар"

Это взрыв мозга.. . Как решить эту задачу?
Голосование за лучший ответ
dr.Drew Просветленный (34100) 11 лет назад
никак.
проверяй условием при обработке результата выборки.
Аркадий Мотовилов Мудрец (15971) 11 лет назад
select id, city, 'Скрыто' from arenda where city = 'Краснодар'
union
select id, city, phone from arenda where city not in 'Краснодар'

За точный синтаксис не ручаюсь, т. к. под рукой нет MySql, но думаю идея ясна..
Maxima Мудрец (13767) 11 лет назад
SELECT id,city,IF(city='Краснодар', 'Скрыто',phone) phone FROM arenda
Alexey velikiy Гуру (2926) 11 лет назад
/* данный запрос отработает (возможно с небольшими изменениями) в любой СУБД, реализующей SQL92,
и выведет все скрытые телефоны в Краснодаре. В ORACLE использовать не рекомендуется - резко снизит быстродействие. .
*/
select
id,
city,
phone
from
arenda
where(
(city = 'Краснодар')
and (phone = 'СКРЫТО')
)

/*****************************************************************************
Версия более универсальная (параметризованный запрос) , и для Орков - особо предпочтительная.
aCity и aPhone - параметры, через которые в запрос передаются конкретные значения.
*****************************************************************************/
select
id,
city,
phone
from
arenda
where(
(city = :aCity)
and (phone = :aPhone)
)

Пробуй.
Источник: ...
Похожие вопросы