繁体   English   中英

选择陈述式以获取超过1列的条件值

[英]Select Statement for more than 1 value of a column for condition

我有Order表(OrderID,salemanID,ProductTypeID,月,年...),Saleman表(salemanID,...)和ProductTypes表(ProductID,Product_type ....)。

我试图让查询选择所有具有超过1种产品类型和订单上的销售员的订单号。

这是我的查询:

Select O.OrderID, S.SalemanName, P.Product_type, count(P.productID)
From Order O join Saleman s ON O.salemanID = s.salemanID
             join ProductTypes P ON O.ProductTypeID = P.ProductID
Where O.month= '01'
and   O.year='2014'
Group by O.OrderID, S.SalemanName, P.Product_type
Having count(P.productID)>1

输出是这样的:

+------------+-------+------------+
|Order Number|Saleman|Product Type|
+------------+-------+------------+
|1234        |Andrew |Tables      |
+------------+-------+------------+
|1234        |Scott  |Tables      |
+------------+-------+------------+
|4321        |Andrew |Chairs      |
+------------+-------+------------+
|4321        |John   |Chairs      |
+------------+-------+------------+

我想要的是一个订单,上面有1种以上的产品类型

+------------+-------+------------+
|Order Number|Saleman|Product Type|
+------------+-------+------------+
|1234        |Andrews|Tables      |
+------------+-------+------------+
|1234        |Barton |Chair       |
+------------+-------+------------+
|4321        |Andrews|Beds        |
+------------+-------+------------+
|4321        |John   |Chairs      |
+------------+-------+------------+
|4321        |John   |Desks       |
+------------+-------+------------+

请帮忙,非常感谢

希望这对您有所帮助。

SELECT  O.OrderID [Order Number], S.SalemanName [Saleman], P.Product_type [Product Type] --, Count(P.productID)
FROM    (
            SELECT  x.OrderID
            FROM    [Order] x
                    Inner Join ProductTypes PT On x.ProductTypeID = PT.ProductID
            WHERE   x.month= '01'
                    And x.year='2014'
            GROUP BY x.OrderID
            HAVING Count(PT.ProductID) > 1
        ) O
        Left Outer Join [Order] OD on O.OrderID = OD.OrderID
        Left Outer Join Saleman S On OD.salemanID = S.salemanID
        Left Outer Join ProductTypes P On OD.ProductTypeID = P.ProductID

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM