2016-10-03 72 views
-3

該查詢如何返回錯誤?我無法從我的表中獲取最大值和最小值

select CUSTOMER, TOTAL_VALUE 
from CUSTOMER, SALES 
where TOTAL_VALUE in (select max(TOTAL_VALUE), min(TOTAL_VALUE) 
from SALES) 

當我只做max(TOTAL_VALUE)或min(TOTAL_VALUE)時,它完美地工作。但我需要獲取TOTAL_VALUE中的最小數字和TOTAL_VALUE中的最大數量。任何人都可以幫我弄清楚爲什麼這個查詢不適合我嗎?我想保持(使用在運營商和嵌套子查詢)

+2

如果它*返回一個錯誤*,那麼您的屏幕上就會出現*錯誤*。絕對沒有理由不把它包含在你的文章中,以便我們也能看到它。你要求我們幫助你解決你的問題;至少你可以做的是提供你已經擁有的信息供我們使用。 –

+0

對不起,如果我冒犯了你。我試圖儘可能多地獲取信息。錯誤是一個頁面很長,我不能複製和粘貼,因爲我在一個虛擬機。我並不是想要得到那麼多的反對票。我只是很困惑我的查詢的語法。抱歉。下次嘗試會更好... –

回答

0

試試這個(加盟銷售和客戶表),我有以下結構:

select C.CUSTOMER, MIN(TOTAL_VALUE), MAX(TOTAL_VALUE) 
from SALES S 
join CUSTOMER C on S.Customer_ID=C.Customer_ID 
group by C.CUSTOMER 
order by C.CUSTOMER 
+0

不幸的是,客戶只在客戶表中。他們共享一個主鍵customer_id –

+0

進行編輯以回答加入表格。 – BWS

1

這是因爲子查詢返回2返回一個錯誤價值觀,而不是一個。這裏是一個修復:

select CUSTOMER, TOTAL_VALUE 
from CUSTOMER cross join 
    SALES join 
    (select max(TOTAL_VALUE) as maxt, min(TOTAL_VALUE) as mint 
     from sales 
    ) sm 
    where s.total_value in (sm.maxt, sm.mint); 

也就是說,查詢沒有任何意義。您將獲得每個客戶的清單以及總體最低和最高銷售額的價值。

這並不回答你的問題。如果您還有其他問題,請提供樣本數據和預期結果,另一個問題。

+0

我對缺乏信息表示歉意。我並不是想要得到這麼多的票。我在一個虛擬機工作,我無法複製和粘貼工作,複製所有的問題的信息。感謝您的幫助和成熟的答案。 –

相關問題