2014-01-30 31 views
0

我在頁面上放置了一個ajax排序按鈕。我想按最高價格對住宿對象進行排序,但我有另一張價格表,因爲每個單位在日期範圍內有不同的價格範圍。 這裏是我的寄宿表Mysqli - 從表B輸入的訂單表A

CREATE TABLE IF NOT EXISTS `Accomodation` (
    `SmjestajID` int(11) NOT NULL AUTO_INCREMENT, 
    `SmjestajNaziv` varchar(300) COLLATE utf8_unicode_ci NOT NULL, 
    `SmjestajTip` varchar(100) COLLATE utf8_unicode_ci NOT NULL, 
    `SmjestajKategorija` varchar(1) COLLATE utf8_unicode_ci NOT NULL, 
    `SmjestajAdresa` text COLLATE utf8_unicode_ci NOT NULL 
    PRIMARY KEY (`SmjestajID`) 
) 

這裏是我的價格表

CREATE TABLE IF NOT EXISTS `Price` (
    `SmjestajCjenikID` int(11) NOT NULL AUTO_INCREMENT, 
    `SmjestajCjenikRazdoblje` varchar(100) COLLATE utf8_unicode_ci NOT NULL, 
    `SmjestajCjenikCijena` varchar(10) COLLATE utf8_unicode_ci NOT NULL, 
    `SmjestajID` int(10) NOT NULL, 
    PRIMARY KEY (`SmjestajCjenikID`) 
) 

與此查詢我得到的最高價格,但僅住宿誰已經價格插入的對象以住宿對象進行排序,怎麼樣的人誰還沒有插入價格,他們應該最後像最便宜的。

SELECT DISTINCT Accomodation.*, max(CONVERT(Price.SmjestajCjenikCijena,UNSIGNED INTEGER)) 
FROM Accomodation 
INNER JOIN Price ON Accomodation.SmjestajID = Price.SmjestajCjenikSmjestaj 
GROUP BY Price.SmjestajCjenikSmjestaj 
ORDER BY max(CONVERT(Price.SmjestajCjenikCijena,UNSIGNED INTEGER)) DESC 

回答

0

您想使用HAVING子句。

SELECT DISTINCT Accomodation.*, max(CONVERT(Price.SmjestajCjenikCijena,UNSIGNED INTEGER)) 
FROM Accomodation 
INNER JOIN Price ON Accomodation.SmjestajID = Price.SmjestajCjenikSmjestaj 
GROUP BY Price.SmjestajCjenikSmjestaj 
ORDER BY max(CONVERT(Price.SmjestajCjenikCijena,UNSIGNED INTEGER)) DESC 
HAVING Price.SmjestajCjenikCijena > 0 
+0

我嘗試你的代碼,但仍然有同樣的問題,只顯示插入價格的對象。 –

相關問題