2014-02-24 2 views
0

Привет всем Я создал два оператора select, но я хочу объединить их вместе, чтобы дать один оператор выбора, который отображает только 4 записи, может кто-то помочь, пожалуйста?Sql select statement select 4 value из той же таблицы

SELECT 
    DATENAME(month, BID.Date) AS Years, 
    COUNT(DATENAME(Month, BID.Date)) AS Total 
FROM 
    Auction 
INNER JOIN 
    BID ON Auction.AuctionID = BID.AuctionID 
INNER JOIN 
    Item ON Auction.ItemID = Item.ItemID 
WHERE 
    (Auction.Status = 'Expired') 
    AND (Item.SellerID = @seller) 
    AND (BID.Status = 'Won') 
GROUP BY 
    DATENAME(month, BID.Date) 

SELECT 
    DATENAME(month, BID.Date) AS Years1, 
    COUNT(DATENAME(Month, BID.Date)) AS Total1 
FROM 
    Auction 
INNER JOIN 
    BID ON Auction.AuctionID = BID.AuctionID 
INNER JOIN 
    Item ON Auction.ItemID = Item.ItemID 
WHERE 
    (Auction.Status = 'UnSold') 
    AND (Item.SellerID = @seller) 
GROUP BY 
    DATENAME(month, BID.Date) 
+0

Можете ли вы привести пример того, что вы хотите, чтобы результаты выглядеть? Его можно интерпретировать как минимум двумя способами. – StingyJack

ответ

0
SELECT 
    DATENAME(month, BID.Date) AS Years 
    ,COUNT(CASE WHEN Auction.Status = 'Expired' 
        AND Item.SellerID = @seller 
        AND BID.Status = 'Won' 
       THEN DATENAME(Month, BID.Date) ELSE NULL END) AS Total1 
    ,COUNT(CASE WHEN Auction.Status = 'UnSold' 
        AND Item.SellerID = @seller 
       THEN DATENAME(Month, BID.Date) ELSE NULL END) AS Total2 

FROM  Auction INNER JOIN BID 
ON   Auction.AuctionID = BID.AuctionID 
INNER JOIN Item 
ON   Auction.ItemID = Item.ItemID 
GROUP BY DATENAME(month, BID.Date) 
+0

Мне НУЖНО 4 ОТВЕТ НЕ ДВА – user3287068

+0

@ user3287068 Хотели бы вы спроектировать, что вы имеете в виду под четырьмя результатами, а не два, можете ли вы показать некоторые данные образца и желаемый результат? –

+0

ЭТО РАЗРАБОТКА МЕНЯ CRL ​​ТИПА НЕ СУЩЕСТВУЕТ – user3287068