2014-04-04 133 views
0

目標:顯示賬號,書名和酒吧。銷售額最高的圖書的年份;包括領帶。確定書籍銷售時使用總擴展成本(數量*訂購價格)。子查詢與關係

規則

  • 僅使用子查詢
  • 沒有加入
  • 沒有工會
  • 只子查詢

查詢

SELECT book_id, 
     title, 
     year_publd 
FROM bkinfo.books 
where book_id = 
    (
    SELECT TOP 1 WITH TIES book_id, quantity*order_price as Extended_cost 
    from bkorders.order_details 
    order by quantity*order_price DESC 
    ) 
; 

錯誤

消息116,級別16,狀態1,行10只有一個表達式可以在選擇列表中被指定 當子查詢不與 EXISTS引入。

子查詢顯示book_id的金額最高,但作爲一個整體運行時,我收到一個錯誤。請解釋我應該做什麼。

+0

你有沒有嘗試添加「和」在條件每個單獨的列? – Sharad

回答

1
SELECT book_id, title, year_publd 
FROM bkinfo.books 
where book_id = 
    (
    SELECT TOP 1 book_id 
    from bkorders.order_details 
    order by quantity*order_price DESC 

    ) 
; 
+0

謝謝!我不知道你可以用'按'排序' –

2
;with cte as 
(
select book_id, quantity*order_price as Extended_cost from bkorders.order_details 
order by Extended_cost DESC 
) 

select top 1 with ties * from cte