USE northwindSELECT *
FROM orders AS or1
WHERE 20 < 
  ( SELECT quantity
    FROM [order details] AS od
    WHERE or1.orderid = od.orderid 
    AND  od.productid = 23
   )想知道 ( SELECT quantity FROM [order details] AS od WHERE or1.orderid = od.orderid AND  od.productid = 23)里面得到的是什么? 不是满足条件的quantity字段吗? 如果是 在表orders里面并没有这个字段,为什么依然可以查出结果?新手问题 高手不要鄙视

解决方案 »

  1.   

      ( SELECT quantity
        FROM [order details] AS od
        WHERE or1.orderid = od.orderid 
        AND  od.productid = 23
       )这只有一条满足么,多条的时候会有问题的
      

  2.   

    查询订单 order 里  某产品 od.productid = 23 的数量 超过20的订单
      

  3.   

    查询同一订单下存在productid = 23并且数量大于20的订单信息
      

  4.   

    SELECT quantity
        FROM [order details] AS od
        WHERE or1.orderid = od.orderid 
        AND  od.productid = 23
    查出来的是满足条件的数据集合,然后外层的是满足条件quantity>20的数据
      

  5.   

    写得有点儿变形,换个形式可能更容易理解
    USE northwindSELECT *
    FROM orders AS or1, order daetails as od
    where or1.orderid=od.orderid and od.productid=23 and od.quantity>20
      

  6.   

    查 订单(orders)的 明细(order details)里面 有 productid=23 且 quantity>20 的 订单
      

  7.   

    上层查询只是利用子查询query出来的结果
      

  8.   

    这个满足条件的集合是order details 表里面的数据集合吗?如果是 那满足外层条件以后不是也应该返回了
    order details 表里面满足条件的数据吗?
      

  9.   

    这个满足条件的集合是order details 表里面的数据集合吗?--
    如果是 那满足外层条件以后不是也应该返回了
    order details 表里面满足条件的数据吗?--没读懂什么意思,order details 表里的结果集只作为orders 表的条件