向各位高人请教一个问题,关于sql语句的:select pic_width(raster),pic_height(raster) from rat where sid='20100213_4_10' and number = 0;select pic_read(raster, 0, 0, ibox('0,0', '657, 4500')) from rat where sid='20100213_4_10' and number = 0;
其中,657, 4500这两个值是第一个sql语句返回的值,需要在第二个sql中使用。
如果要完成上面的查询,至少要访问两次数据库,有没有什么方法,可以通过一个sql语句来完成上面的查询呢?数据库sqlselect

解决方案 »

  1.   

    select pic_width(raster),pic_height(raster) from rat where sid='20100213_4_10' and number = 0;如果第一条记录返回的是一条记录,那你就可以
    select pic_read(raster, 0, 0, ibox('0,0', select pic_width(raster),pic_height(raster) from rat where sid='20100213_4_10' and number = 0)) from rat where sid='20100213_4_10' and number = 0;
    写了啊
      

  2.   

    上面的写错了,如下:
    select pic_read(raster, 0, 0, ibox('0,0', select pic_width(raster)||','||pic_height(raster) from rat where sid='20100213_4_10' and number = 0)) from rat where sid='20100213_4_10' and number = 0
      

  3.   

    select pic_width(raster),pic_height(raster) from rat where sid='20100213_4_10' and number = 0;返回的是两个整型数
      

  4.   

    select pic_read(raster, 0, 0, ibox('0,0', select pic_width(raster)||','||pic_height(raster) from rat where sid='20100213_4_10' and number = 0)) from rat where sid='20100213_4_10' and number = 0这样应该没问题