0

嗨,我正在尝试创建符合我要求的 mysql 语句。2表如下

后表

post_id | from_id
100     | 1
100     | 2
100     | 3
100     | 4
100     | 5

爱表

post    | uid
1       | 1
100     | 3
100     | 4
100     | 5
5       | 6

我想select from_id from postTable where post_id=100 order by首先在loveTable 中有post = 100 的//uid。

期待结果

from_id
 3
 4
 5
 1
 2

你能告诉我什么是正确的选择语句吗?

4

2 回答 2

7
select p.from_id 
from postTable p left join lovetable o on p.from_id=o.uid
and o.post=100 
where p.post_id=100
order by o.uid is not null desc,p.from_id

SQL 小提琴在这里。

于 2012-08-16T06:54:55.793 回答
2

试试这个:

SELECT from_id FROM postTable pt
LEFT JOIN loveTable lt
ON pt.from_id = lt.uid
WHERE pt.post_id  = 100
ORDER BY lt.post desc

看到这个 SQLFiddle

于 2012-08-16T06:57:17.213 回答