我想在语句时编写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的结果,它是就是这样。
答案 0 :(得分:1)
您可以通过以下方式修改查询:
SELECT IF(t1.Column1 = t2.Column2,t2.Column1,t1.Column3) FROM TABLE1 AS t1, Table2 AS t2
答案 1 :(得分:1)
试试这个:
select (case when data.localparty = o.loc then o.loc_m else data.localparty end)
as customdata from data, o
答案 2 :(得分:1)
您可以使用以下查询
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 )
答案 3 :(得分:0)
您应该使用control-flow functions来实现这一目标:
SELECT IF(Column1 = Column2,Column1,Column3) FROM TABLE1