我正在尝试提取美国和世界各地的商店数据。
select
s.store,
s.store_name,
s.store_city,
s.state,
st.description as "STATE_DESC",
s.country_id,
c.country_desc
from
store s,
country c
left join state st on st.state = s.state
where c.country_id = s.country_id
and s.store in ('123456', '654321')
我得到:
ORA-00904: "S"."STATE": invalid identifier
00904. 00000 - "%s: invalid identifier"
*Cause:
*Action:
Error at Line: 13 Column: 34
如果我定期加入州表,它只会提取美国的位置,并且不会在州或州描述列中显示 NULL 值。
如何加入状态表?
store
栏目:state
栏目:我想要:
商店 | STORE_NAME | STORE_CITY | 状态 | STATE_DESC | COUNTRY_ID | COUNTRY_DESC |
---|---|---|---|---|---|---|
123456 | 达拉斯店 | 达拉斯 | TX | 德克萨斯州 | 美国 | 美国 |
654321 | 德国专卖店 | 柏林 | 空 | 空 | 德 | 德国 |
我最终做了一个
VLOOKUP
在 Excel 中添加状态描述。
Aly S 没有使用隐式逗号分隔方式连接表,而是使用“现代、显式 JOIN 语法”连接所有表。
select
s.store,
s.store_name,
s.store_city,
s.state,
st.description as "STATE_DESC",
s.country_id,
c.country_desc
from store s
left join state st
on s.state = st.state
join country c
on s.country_id = c.country_id
where s.store in ('123456', '654321')