datamodule100.query2.close;
datamodule100.query2.sql.Clear;
datamodule100.query2.sql.add('select * from xiaoshoudanbiao where (huopinshuliang>(select huopinshangxian from xiaoshoudanbiao)) or (huopinshuliang>(select huopinxiaxian from xiaoshoudanbiao))');
showmessage(datamodule100.Query2.SQL.Text);
datamodule100.query2.open;
打开时报错;
报huopinshuliang,huopinshuliang错

解决方案 »

  1.   

    select huopinshangxian from xiaoshoudanbiao这样出来的数据不只一条,你要用MAX函数
      

  2.   

    同意一楼的说法,稍加改动就行了SELECT * FROM xiaoshoudanbiao
    WHERE 
    huopinshuliang>(SELECT MAX(huopinshangxian) FROM xiaoshoudanbiao) OR
    huopinshuliang>(SELECT MAX(huopinxiaxian) FROM xiaoshoudanbiao)
      

  3.   

    datamodule100.query2.close;
    datamodule100.query2.sql.Clear;
    datamodule100.query2.sql.add('select * from xiaoshoudanbiao where (huopinshuliang>(select top 1 huopinshangxian from xiaoshoudanbiao)) or (huopinshuliang>(select top 1 huopinxiaxian from xiaoshoudanbiao))');
    showmessage(datamodule100.Query2.SQL.Text);
    datamodule100.query2.open;这样试试!
      

  4.   

    因为库存品种不同,最高限额也不同,所以不能用一个统一的max()函数,应怎么做
      

  5.   

    同意一楼的说法,稍加改动就行了SELECT * FROM xiaoshoudanbiao
    WHERE 
    huopinshuliang>(SELECT MAX(huopinshangxian) FROM xiaoshoudanbiao) OR
    huopinshuliang>(SELECT MAX(huopinxiaxian) FROM xiaoshoudanbiao)
      

  6.   

    Re:因为库存品种不同,最高限额也不同,所以不能用一个统一的max()函数,应怎么做SELECT * FROM xiaoshoudanbiao A,xiaoshoudanbiao B
    WHERE A.主键ID = B.主键ID AND (A.huopinshuliang> B.huopinshangxian OR
    A.huopinshuliang>B.huopinxiaxian)