问答详情
源自:-

联表查询 列名无效

用到联表查询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 + "元");
        }
    }


提问者:aaron_博 2017-03-10 21:53

个回答

  • 幸福是可积的
    2017-03-14 07:35:57
    已采纳

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

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