select a,(select b from table1 where Id='1') as b,c from table2你这话有问题如果正确就支持,不正确,就不支持

解决方案 »

  1.   

    SELECT Inc_Amount,(select Exp_Desc FROM tExpense) as b FROM tIncoming
    我按照你这样说的,在我的数据库里面写上面的SQL语句,还是有错,(表名和字段名正确)我知道SQL2000里面支持子查询功能的,我们公司的数据库刚刚升级到mysql4.0的版本,头头让我测试一下里面的功能,我写了个带子查询的SQL语句就是执行出错。我上面的SQL语句有问题吗?谢谢
      

  2.   

    1、mysql4支持子查询;
    2、子查询是一种在查询返回的数据上附加条件的方法;
    建议你还是去看看MYSQL中文参考手册。
      

  3.   

    不好意思,是MYSQL4.1支持子查询 :-)
      

  4.   

    SELECT Inc_Amount,(SELECT Exp_Total FROM tExpense where Exp_ID='1') FROM tIncoming
    我写的这个SQL语句难道有问题吗?为什么在MYSQL4。0的版本里面运行出错,错误提示如下:
    You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT 希望各位给看一下,谢谢!
      

  5.   

    MySQL公司将MySQL 4.1看作未来产品中的“大人物”,其中的新功能包括速度更快的关健字缓冲、子查询.
      

  6.   

    SELECT Inc_Amount,(SELECT Exp_Total FROM tExpense where Exp_ID='1') FROM tIncomingan interesting statement.. do you store some fields name of tIncoming in tExpense ? how could mysql knows the second field's name you are searching?
      

  7.   

    我学习过MYSQL4.0上面有讲到子查询....可以支持.....书名>> MYSQL4.0入门到精通<<<
      

  8.   

    这两天CSDN上的人好少呀?周末吗?大家都休息 ,理解
    谁在帮我看看,马上揭贴!
      

  9.   

    :)
    的确呀,目前只有 MySQL 4.1 以上才支持 子查询,
    而 MySQL 4.1.0 发行还只是 Alpha 版
    稳定版是 MySQL 4.0.15a你的问题可以通过用户变量来实现SELECT @bC := b FROM table1 WHERE  Id='1';
    SELECT a, @bC AS b, c FROM table2
      

  10.   

    1.你的sql语句有问题,改为如下形式:
    select a,b,c from table2 where 
       b in (select b from table1 where Id='1');
    2.mysql并未完全遵循sql92,将在4.1版中提供支持子查询的功能。
      

  11.   

    从你提供的信息看,感觉可以不用子查询。
    select a,table2.b,c from table2 where table1.Id='1' and table1.b=table2.b;