2016-12-16 170 views
-2
我有命名爲
1 Primary_Table
2)Secondary_Table

MySQL的:連接兩個表

兩個表)

,如下圖所示: -

Primary_Table       Secondary_Table 
Sl_no Sub_id Destination    Sub_id Price 
1  1000 New York     1000 1987 
1  1001 Tokyo      1001 5679 
1  1002 London     1002 7875 
2  1003 Mumbai     1003 6789 
2  1004 Sydney     1004 7489 
2  1005 Munich     1005 6746 

在這裏,我想編寫一個SQL/MYSQL查詢來查找關於主表中的Sl_no的最大和最小价格。

+2

你嘗試過這麼遠嗎?提示:在對數據使用聚合MIN/MAX函數之前,您需要加入這兩個表。 – Boneist

+2

哪個RDBMS是爲你添加了Oracle和MySQL的標籤? – MT0

+0

我不能連接兩行並創建一個新表,因爲我正在編寫一個過程,我需要一個SQL查詢來獲取所需的數據。 – Jhon

回答

2

您可以使用此解決方案。

SELECT 
    tb1.sub_id 
    , tb1.sl_no 
    , tb1.destination 
    , tb2.price 
FROM 
    tb1 
JOIN 
    tb2 
ON 
    tb2.sub_id = tb1.sub_id 
WHERE 
    price = (SELECT MIN(price) FROM tb2) OR price = (SELECT MAX(price) FROM tb2) 

希望這能解決您的問題。

0

這個查詢將給您最大和最小的價格爲每Sub_id

SELECT Sub_id,MIN(Price) AS minimum, MAX(Price) AS maximum FROM 
(SELECT p.si,p.sub,s.price FROM Primary_Table as p JOIN Secondary_Table as s ON 
p.Sub_id=s.Sub_id) AS t GROUP BY t.Sub_id 

SQLFiddle

+0

@Jhon它是爲你工作嗎?如果願意,可以投票並標記爲正確 – jophab