请问这条sql 语句怎样优化呢?

guolucky2003 2008-11-25 04:05:55
如题:
SELECT username, pid, style, datetime, SUM(price) AS sumprice,
(SELECT pic
FROM dbo.canpin
WHERE pid = t_price.pid) AS pic,
(SELECT city
FROM dbo.user_table
WHERE username = t_price.username) AS city
FROM dbo.t_price
GROUP BY username, pid, style, datetime
...全文
42 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵大米 2008-11-25
  • 打赏
  • 举报
回复
用下面的语句似乎你的结果应该不变

SELECT t_price.username,
t_price.pid,
t_price.style,
t_price.datetime,
canpin.pic,
user_table.city
SUM(t_price.price) AS sumprice
FROM dbo.t_price
JOIN dbo.canpin ON canpin.pid = t_price.pid
JOIN dbo.user_table ON user_table.username = t_price.username
GROUP BY
t_price.username,
t_price.pid,
t_price.style,
t_price.datetime,
canpin.pic,
user_table.city
dawugui 2008-11-25
  • 打赏
  • 举报
回复
--试试这个对不对,三表不能统一连接的话,也许不对.

SELECT username, pid, style, datetime, pic , city , SUM(price) AS sumprice, 
FROM dbo.t_price ,dbo.canpin , dbo.user_table
where dbo.t_price.pid = dbo.canpin.pid and dbo.t_price.username = dbo.user_table.username
GROUP BY username, pid, style, datetime , pic , city
dawugui 2008-11-25
  • 打赏
  • 举报
回复
如果三表不能匹配,就这么写吧.
rucypli 2008-11-25
  • 打赏
  • 举报
回复
首先canpin.pid 和 user_table.username加索引

34,588

社区成员

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

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