2 qq 40076006 qq_40076006 于 2017.09.11 16:35 提问

sql语句,哪里错了?在access中测试可以。

select * from 表1 A left join(select 机号_2,SUM(产量_2) from 表2 group by 机号_2) B on A.机号=表2.机号_2

10个回答

huang931027
huang931027   2017.09.11 16:39

你应该写成 select A.*, B.*

huang931027
huang931027   2017.09.11 16:38

号 没有指定具体哪个表的哪个字段,你应该写成 select A., B.*

weixin_39158271
weixin_39158271   2017.09.11 16:39

====把错误信息贴出来,看看=======

qq_40076006
qq_40076006 消息 8155,级别 16,状态 2,第 1 行 没有为 'B' 的列 2 指定任何列名称。
2 个月之前 回复
weixin_39158271
weixin_39158271   2017.09.11 16:41

多表查询需要全部加上别名,避免**定义模糊**

jhj_666
jhj_666   2017.09.11 16:45

具体的语句和表结构呢?看看报错提示啥

jhj_666
jhj_666 回复qq_40076006: 我觉得最后那应该写成B.机号_2
2 个月之前 回复
qq_40076006
qq_40076006 消息 8155,级别 16,状态 2,第 1 行 没有为 'B' 的列 2 指定任何列名称。
2 个月之前 回复
qq_40076006
qq_40076006   2017.09.11 16:49

消息 8155,级别 16,状态 2,第 1 行
没有为 'B' 的列 2 指定任何列名称。

qq_33727653
qq_33727653   2017.09.11 16:57

表示没看出错误:但是(但是来了!!!!!!!!!!)::::::

select * from 表1 A left join(select 机号_2,SUM(产量_2) from 表2 group by 机号_2) B on A.机号=B.机号_2 ,楼主应该贴错语句了吧 这是AB俩表关联,表2是内部查询表不是关联表!!!!
qq_33727653
qq_33727653 啥 数据库呢? 给SUM(产量_2) 起个别名呢? 【我没看出来,瞎猜了!】
2 个月之前 回复
qq_40076006
qq_40076006 我有试过A.机号=B.机号_2,还是报错。
2 个月之前 回复
qq_33727653
qq_33727653 我的意思是楼主语句最后是 A.机号=B.机号_2 还是 A.机号=表2.机号_2,用A.机号=表2.机号_2就真错了!
2 个月之前 回复
qq_40076006
qq_40076006 不知道错哪儿了
2 个月之前 回复
plazyj
plazyj   2017.09.11 19:41

我不知道你用的什么,toad 或者plsql developer 放里查询下,应该会有提示出错信息的把

bcbobo21cn
bcbobo21cn   2017.09.11 20:48

left join(select
缺少空格;
left join (select
OK;

qq_40076006
qq_40076006 消息 8155,级别 16,状态 2,第 1 行 没有为 'B' 的列 2 指定任何列名称。 这是错误提示,
2 个月之前 回复
qq_40076006
qq_40076006   2017.09.12 07:40

select * from 表1 A left join(select 机号_2,SUM(产量_2) as 合计 from 表2 group by 机号_2) B on A.机号=B.机号_2

在sum(产量_2)as别名,就可以了

Csdn user default icon
上传中...
上传图片
插入图片