-3
如果areas.id为空,那么只显示'MISSING AREA'数据而不是包含空白?我尝试使用outlet.STATUS <> 0,但SQL表示列STATUS不存在。所以在这种情况下,我创建的STATUS列不能被过滤?SQL中创建列中的条件
很抱歉的混乱,样本数据将是这样的:
商店
id firm name area id
----------------------
1 abc 21
2 xyz 23
3 def 42
领域
id
--
20
23
40
连接的表与STATUS:
id firm name area_id id Status
---------------------------------------
1 abc 21 NULL MISSING AREA
2 xyz 23 23
3 def 42 NULL MISSING AREA
我想不显示shops.id = 2,只显示1和3
select
shops.id, shops.firm_name, shops.area_id,
areas.id,
IF(areas.id, "", "MISSING AREA") as STATUS
from
shops
left join
areas on areas.id = shops.area_id
where
shops.area_id != 0
order by
STATUS asc
请标记DBMS,并提供一些样品和输出数据,我认为这是很容易的要求。 – Susang
你提到'outlet.STATUS <> 0',查询有'outlets.area_id!= 0',两个不同的'outlet'拼写。无论哪种方式,这个'出口'是什么?我没有在'from','join'子句中的任何地方看到'outlet'。 – sstan