USE northwind SELECT orderid, customerid ,(SELECT quantity  FROM [order details]
             WHERE 2 = orderid
              AND  productid = 23)
 FROM orders
 WHERE 20 < (SELECT quantity  FROM [order details]
             WHERE 2 = orderid
              AND  productid = 23)

解决方案 »

  1.   

    USE northwind SELECT orderid, customerid ,(SELECT quantity  FROM [order details]
                 WHERE 2 = orderid
                  AND  productid = 23)
     FROM orders a WHERE exists (SELECT 1 FROM [order details]
                 WHERE 2 = orderid
                  AND  productid=23 and 20<quantity)
      

  2.   

    SELECT or1.orderid, customerid ,[order details].quantity 
     FROM orders  or1,[order details]
     WHERE 20 < (SELECT quantity  FROM [order details]  od
                 WHERE 2 = od.orderid
                  AND  od.productid = 23)
      

  3.   

    to:  zjcxc(邹建thx ,but 结果 为 2 万多行
      

  4.   

    SELECT or.orderid, customerid, od1.quantity 
     FROM orders  or inner join [order details] od on or.orderid=od1.orderid
     WHERE 20 < (SELECT quantity  FROM [order details]  od2
                 WHERE 2 = od2.orderid
                  AND  od2.productid = 23)楼主在From子句中,没有引用[order details]表,且在Select中引用了该表的字段,当然要出错了!
      

  5.   

    上面有笔误:
    SELECT or.orderid, customerid, od1.quantity 
     FROM orders  or inner join [order details] od1 on or.orderid=od1.orderid
     WHERE 20 < (SELECT quantity  FROM [order details]  od2
                 WHERE 2 = od2.orderid
                  AND  od2.productid = 23)
      

  6.   

    SELECT orderid, customerid ,[order details].quantity 
     FROM northwind..orders AS or1
     WHERE 20 < (SELECT top 1 quantity  FROM northwind..[order details] AS od
                 WHERE 2 = od.orderid
                  AND  od.productid = 23)
      

  7.   

    如果两个表都有orderid相关联
    SELECT or.orderid, customerid, od1.quantity 
     FROM orders  or inner join [order details] od on or.orderid=od1.orderid
     WHERE 20 < (SELECT quantity  FROM [order details]  od2
                 WHERE 2 = od2.orderid
                  AND  od2.productid = 23)orSELECT or1.orderid, customerid ,[order details].quantity 
     FROM orders  or1,[order details]
     WHERE 20 < (SELECT quantity  FROM [order details]  od
                 WHERE 2 = od.orderid
                  AND  od.productid = 23)
      

  8.   

    SELECT or1.orderid, customerid, od1.quantity 
     FROM orders  or1 inner join [order details] od1 on or1.orderid=od1.orderid
     where od1.Quantity>20 and od1.orderid=2 and od1.productid = 23