-2

请允许我再次提出一个愚蠢的问题。我真的很难从两个表中调用查询 mysql。

post_table

    PostID | UID_frm

    10     | 1
    10     | 2
    10     | 3
    10     | 4
    10     | 5

用户表

    Name   | FID

    tom    | 2
    tom    | 3
    henry  | 4

我想在下面得到这个结果。

UID_frm
2
3
1
4
5

它是 UID_frm 列的结果,但优先级按 user_table.FID 排序。请告知我想这样打电话:(但不起作用)

select UID_frm 
from post_table 
where PostID='10'  
order by (select FID 
            from user_table 
           where Name='tom')
4

2 回答 2

1

我认为这就是你要找的:

SELECT UID_frm
FROM post_table a
     LEFT JOIN user_table b
        ON a.UID_frm = b.FID
WHERE PostID = '10'
ORDER BY (IF(b.Name = 'tom', b.FID, NULL)) ASC, a.UID_frm ASC
于 2012-08-16T09:51:33.873 回答
1

试试这个

select PT.UID_frm 
    from post_table as PT,user_table as UT
    where UT.FID=PT.UID_frm and PT.PostID='10'
    order by UT.name ASC/DESC
于 2012-08-16T09:54:07.383 回答