50分 求一SQL语句 先对先得

wwonion 2006-11-01 04:25:09
SELECT *,
(SELECT city
FROM province_city_CN
WHERE id = dealer_VIEW.province) AS 省份
,
(SELECT city
FROM province_city_CN
WHERE id = dealer_VIEW.city) AS 城市

FROM dealer_VIEW

能否优化下??
...全文
213 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
allright_flash 2006-11-01
  • 打赏
  • 举报
回复
select *,province_city_CN.city as 省份,province_city_CN.city as 城市
from dealer_VIEW
left join province_city_CN on dealer_VIEW.province = province_city_CN.id
left join province_city_CN on dealer_VIEW.city = province_city_CN.id
wwonion 2006-11-01
  • 打赏
  • 举报
回复
ID,province,CITY 都是INT

province_city_CN 的ID 是索引,其他的字段没索引
子陌红尘 2006-11-01
  • 打赏
  • 举报
回复
是否已经在关联字段上建立索引?
wwonion 2006-11-01
  • 打赏
  • 举报
回复
请问还有别的思路吗?

谢谢大家的帮助,我认为 libin_ftsafe(子陌红尘:当libin告别ftsafe) 是最好的方法了
但速度提升并不明显.
liuyinbo0109 2006-11-01
  • 打赏
  • 举报
回复
SELECT *,
city as 省份,
city as 城市
FROM dealer_VIEW

是不是这样?
hhhdyj 2006-11-01
  • 打赏
  • 举报
回复
select dv.*
from dealer_VIEW dv
inner join province_city_CN p
on p.id = dv.province
inner join city c
on c.id = dv.city
冷箫轻笛 2006-11-01
  • 打赏
  • 举报
回复

select *,t2.city as 省份,t3.city as 城市
from dealer_VIEW t1 left join province_city_CN t2 on t1.province = t2.id
left join province_city_CN t3 on t1.city = t3.id
子陌红尘 2006-11-01
  • 打赏
  • 举报
回复
SELECT
a.*,
b.city AS 省份,
c.city AS 城市
FROM
dealer_VIEW a,
province_city_CN b,
province_city_CN c
where
a.province=b.id and a.city=c.id

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧