首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysqli -根据表B的输入对表A进行排序

Mysqli -根据表B的输入对表A进行排序
EN

Stack Overflow用户
提问于 2014-01-30 11:18:51
回答 1查看 59关注 0票数 0

我把一个ajax排序按钮放在我的页面上。这是我的住宿桌

代码语言:javascript
复制
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`)
)

这是我的价格表

代码语言:javascript
复制
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`)
)

通过这个查询,我得到了按照最高价格对住宿对象进行排序,但只对插入了价格的住宿对象进行排序,如果仍然没有插入价格的对象呢,它们应该放在最后,比如最便宜的。

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2014-01-30 11:21:43

您希望使用HAVING子句。

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21447163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档