首页 新闻 赞助 找找看

如何在子查询中引用主查询中的计算字段?

0
悬赏园豆:30 [已关闭问题]

有如下的SQL语句:

select id, price*1.1 as a,
    (SELECT max(num) FROM table2 WHERE c > table1.a) as b
FROM table1

执行时会报错:至少一个参数没有被指定值。估计是由于子查询中引用的table1.a并不是实际存在的字段所致。

请问,如何修改该语句来达到同样的目的呢?谢谢!

问题补充: a就是随便取的一个计算字段的别名,c是table2中的一个字段
戒焦戒躁的主页 戒焦戒躁 | 初学一级 | 园豆:15
提问于:2009-08-13 15:13
< >
分享
其他回答(1)
0

select id, price*1.1 as a,
    (SELECT max(num) FROM table2 WHERE c > table1.a) as b
FROM table1

红色的字体!!a重复、、c不明确!。这个是什么啊?..

邢少 | 园豆:10926 (专家六级) | 2009-08-13 16:03
0

把表的字段写下

立天下 | 园豆:205 (菜鸟二级) | 2009-08-13 18:28
select id, price*1.1 as a, (SELECT max(num) FROM table2 WHERE c > table1.price*1.1) as b FROM table1 看看这样写行不?我还没试
支持(0) 反对(0) 立天下 | 园豆:205 (菜鸟二级) | 2009-08-13 18:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册