-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 に答える