为了账号安全,请及时绑定邮箱和手机立即绑定

联表查询 列名无效

用到联表查询SQL语句时 最后运行输出总是报错 说s.Jprice列名无效   但这条语句在sqlserver中是可以执行的

到底是怎么回事呀  求解  谢谢各位大神

Jprice,Mprice是SPinfo表中的进价和卖价  xscout是XSjilu表中的销售数量  iid是两个表中的主外键关联

public void SelectSPpriceAll() throws SQLException {
        float Jprice;
        float Mprice;
        int xscout;
        float sum = 0;
        Connection con = Database.getCon();
        Statement sta = con.createStatement();
        String sql = "select SUM((s.Mprice-s.Jprice)* x.xscout) from SPinfo s,XSjilu x where s.iid=x.iid";
        ResultSet res = sta.executeQuery(sql);
        while (res.next()) {
            Jprice = res.getFloat("Jprice");
            Mprice = res.getFloat("Mprice");
            xscout = res.getInt("xscout");
            sum += (Mprice - Jprice) * xscout;
            System.out.println("所有商品的盈利总额为:" + sum + "元");
        }
    }


正在回答

1 回答

查询所得的结果集即是价钱总和了,直接获取就行

如果要按照你写的,那么就需要把查询语句改为
select s.Mprice,s.Jprice,x.xscout
from SPinfo as s,XSjilu as x
where s.iid = x.iid;

1 回复 有任何疑惑可以回复我~
#1

aaron_博 提问者

明白了 谢谢
2017-03-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JDBC之 “ 对岸的女孩看过来”
  • 参与学习       99326    人
  • 解答问题       856    个

一起领略JDBC的奥秘,为进一步学习集成框架打下良好的基础

进入课程

联表查询 列名无效

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信