select a.*,b.id as flowid from ReportList as a,FlowCreation as b where a.DelTag!=1 and a.id=32 and b.DelTag!=1 and a.FID*=b.FID请问这里的a.FID*,*是什么意思?

解决方案 »

  1.   

     第一个*表示查询a(或别名为a)表的所有列,第二个不是SQL SERVER的语法,好像是ORACLE和其它数据库的,左外联连接符。
      

  2.   

    乘等于 
    http://msdn.microsoft.com/zh-cn/library/cc627365.aspx
      

  3.   

    where a.FID = a.FID*b.FID 
    个人认为
      

  4.   

    a.FID*=b.FID 不知道是什么语法中的连接吧
      

  5.   

    呵呵,这个如果是以前的oracle,是左联接,不过出现在where子句里,就不一样了.在.net里a*=b就等于a=a*b的,不知道在SQL里是啥意思.
      

  6.   

    不是乘等于,因为我试了一下,a.FID= a.FID*b.FID ,结果不一样
      

  7.   

    $SDoc=mssql_query("select a.*,b.id as flowid from ReportList as a,FlowCreation as b where a.DelTag!=1 and a.id=".((trim($RID)=="")?"null":$RID)." and b.DelTag!=1 and b.FlowStartDate<='$IDate' and b.FlowEndDate>='$IDate' and a.FID*=b.FID",$db);原句是这样的
      

  8.   

    我的数据库里,a.FID*=b.FID与a.FID=b.FID结果是一样的,与a.FID=a.FID*b.FID不一样
      

  9.   

    a.FID*=b.FID 与 a.FID=b.FID
    左连接与内联接结果当然可能一样。
      

  10.   

    不太清楚。sql里没有这个用法
      

  11.   

    支持TONY这种解释,应该是连接符
      

  12.   

    a.FID*=b.FID 
    就是左连接啦。。
      

  13.   

    如果sql里如果没有这个语法。尽管左连接能解释得通,也不能说就是左连接啊
      

  14.   

    這是左右連接的另一種寫法,類似于Oracle中的(+)
      

  15.   


    SELECT * 
    FROM A, B
    WHERE a.FID*=b.FID SELECT * 
    FROM A
    LEFT JOIN B
    ON a.FID=b.FID 两个查询结果是一样的。。
      

  16.   

    TONY哥,我找到了,这是传统的SQL写法,是左连接,我记得好像在一本书中看过
      

  17.   

    Transact-SQL 联接
    在早期的 Microsoft® SQL Server™ 2000 版本中,使用 *= 和 =* 在 WHERE 子句中指定左、右外部联接条件。有时,该语法会导致有多种解释的不明确查询。FROM 子句中指定遵从 SQL-92 的外部联接,不会导致上述不确定性。因为 SQL-92 语法更为精确,所以,本版中未包括有关在 WHERE 子句中使用旧的 Transact-SQL 外部联接语法的详细信息。以后的 SQL Server 版本可能不再支持该语法。任何使用 Transact-SQL 外部联接的语句都应改为使用 SQL-92 语法。SQL-92 标准支持 FROM 或 WHERE 子句中的内部联接规范。WHERE 子句中指定的内部联接不会出现与 Transact-SQL 外部联接语法相同的不确定性问题。
      

  18.   

    HOHO,TONY哥,是要在2000上,以后的 SQL Server 版本可能不再支持该语法
      

  19.   

    左联接
    sql server 2005里不支持使用