sql="SELECT PU_Order.Date, PU_OrdDetail.BillID, PU_Vendor.ShortName As VendorName, FD_Article.ArtCode,  FD_Article.Name As ArtName, PU_OrdDetail.MeasID, PU_OrdDetail.Qty, PU_OrdDetail.Price, MAX(i.Price) AS MaxInPrice, MIN(i.Price) AS MinInPrice, PU_OrdDetail.Memo "
sql=sql&"FROM (SELECT OrderID, OrderSortID, Price FROM PU_InBill INNER JOIN  PU_InDetail ON PU_InBill.BillID = PU_InDetail.BillID WHERE NOT Execer IS NULL) AS i "
sql=sql&"INNER JOIN  PU_Order "
sql=sql&"INNER JOIN  PU_OrdDetail ON PU_Order.BillID = PU_OrdDetail.BillID "
sql=sql&"INNER JOIN  FD_Article ON PU_OrdDetail.ArtID = FD_Article.ID "
sql=sql&"INNER JOIN  PU_Vendor ON PU_Order.VendorID = PU_Vendor.ID "
sql=sql&"ON i.OrderID = PU_OrdDetail.BillID And i.OrderSortID = PU_OrdDetail.SortID  "
sql=sql&"Where Not PU_Order.Checker Is Null  And PU_Order.Date >= '2008-06-01'  And PU_Order.Date < '2008-07-01'  And PU_OrdDetail.InQty > 0   "
sql=sql&"GROUP BY PU_Order.Date, PU_OrdDetail.BillID, PU_Vendor.ShortName, FD_Article.ArtCode, FD_Article.Name,  PU_OrdDetail.MeasID, PU_OrdDetail.Qty, PU_OrdDetail.Price, PU_OrdDetail.Memo "
这段语句中的“sql=sql&"ON i.OrderID = PU_OrdDetail.BillID And i.OrderSortID = PU_OrdDetail.SortID  "”中是不是缺少了JOIN呢?

解决方案 »

  1.   


    --注意空格,try:
    sql="SELECT PU_Order.Date, PU_OrdDetail.BillID, PU_Vendor.ShortName As VendorName, FD_Article.ArtCode,  FD_Article.Name As ArtName, PU_OrdDetail.MeasID, PU_OrdDetail.Qty, PU_OrdDetail.Price, MAX(i.Price) AS MaxInPrice, MIN(i.Price) AS MinInPrice, PU_OrdDetail.Memo " 
    sql=sql&" FROM (SELECT OrderID, OrderSortID, Price FROM PU_InBill INNER JOIN  PU_InDetail ON PU_InBill.BillID = PU_InDetail.BillID WHERE NOT Execer IS NULL) AS i " 
    sql=sql&" INNER JOIN  PU_Order " 
    sql=sql&" INNER JOIN  PU_OrdDetail ON PU_Order.BillID = PU_OrdDetail.BillID " 
    sql=sql&" INNER JOIN  FD_Article ON PU_OrdDetail.ArtID = FD_Article.ID " 
    sql=sql&" INNER JOIN  PU_Vendor ON PU_Order.VendorID = PU_Vendor.ID " 
    sql=sql&" ON i.OrderID = PU_OrdDetail.BillID And i.OrderSortID = PU_OrdDetail.SortID  " 
    sql=sql&" Where Not PU_Order.Checker Is Null  And PU_Order.Date >= '2008-06-01'  And PU_Order.Date < '2008-07-01'  And PU_OrdDetail.InQty > 0  " 
    sql=sql&" GROUP BY PU_Order.Date, PU_OrdDetail.BillID, PU_Vendor.ShortName, FD_Article.ArtCode, FD_Article.Name,  PU_OrdDetail.MeasID, PU_OrdDetail.Qty, PU_OrdDetail.Price, PU_OrdDetail.Memo " 
      

  2.   

    好象是缺少了join
    另外INNER JOIN  PU_Order 中没有连接条件
      

  3.   

    但是偶就觉得少了个条件,就是说它个格式应该是 SELECT 列名列表 FROM 表名1 表名2 [,]where 表名1。列名=表名2。列名[and],这段代码里存在很多的问题