MySQL запрос с когда оператор сравнения - PullRequest
0 голосов
/ 08 января 2012

Я хочу написать mysql когда утверждение, и я не могу этого сделать.

объяснение => localParty - это столбец в таблице «data», loc - это столбец из таблицы «o», и я хочу сравнить localParty с loc, если их значения равны, то я хочу получить информацию из столбца loc_m (этот столбец из таблицы "o"), а если не равно, то из столбца localParty (из таблицы "data")

Пожалуйста, помогите, как написать этот скрипт в запрос MySQL? Спасибо

с этим скриптом

select (case when data.localparty = o.loc then o.loc_m else data.localparty end) 
    as customdata from data, o

он работает, но в нем пропущено ровно три результата (я имею в виду, что затем data.localparty, равный o.loca, он дает результат из data.localparty 3 раза, а после этого один раз он дает результат из loc_m, и это будет так.

Ответы [ 4 ]

1 голос
/ 08 января 2012

Вы можете использовать следующий запрос

Select O.loc_m as local 
from Data 
inner join on O on data.localparty=O.loc
UNION
Select data.loacalparty as local 
from Data 
where data.localparty is not in (select loc from O )
1 голос
/ 08 января 2012

Вы можете изменить запрос следующим образом:

SELECT IF(t1.Column1 = t2.Column2,t2.Column1,t1.Column3) FROM TABLE1 AS t1, Table2 AS t2
1 голос
/ 08 января 2012

Попробуйте:

select (case when data.localparty = o.loc then o.loc_m else data.localparty end) 
as customdata from data, o
0 голосов
/ 08 января 2012

Для достижения этой цели вы должны использовать функции управления потоком :

SELECT IF(Column1 = Column2,Column1,Column3) FROM TABLE1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...