我的查询是:
SELECT *
FROM sold_car
WHERE cat_id IN (SELECT *
FROM category
ORDER BY cat_id DESC)
但结果显示在随机排序的类别中。为什么嵌套查询没有排序?它是Postgresql 9.6的属性吗?
答案 0 :(得分:3)
这是做你想做的事的正确方法:
SELECT sc.*
FROM sold_car sc
INNER JOIN category c
ON sc.cat_id = c.cat_id
ORDER BY c.cat_id DESC
您当前的查询不是订购或过滤,因为@jarlh问“类别表只有一列吗?”这是因为要使用IN
,您应该匹配列,因此它应该是cat_id in (select cat_id from.....
同样,子查询排序对外部查询排序没有影响,因此您应该对外部查询进行排序。
答案 1 :(得分:1)
类似的东西:
select *
from sold_car
where cat_id in
(select cat_id from catagory)
order by cat_id desc;
应该这样做。