有很多與此有關的問題,但所有使用內部連接的相同答案,這是(我認爲)不可能在這裏。 (說我,如果我錯了)ORDER BY字段中的MySQL子查詢。 (沒有內部連接)
我現在正在做的是調用兩個不同的mysql查詢來獲得結果。它完美的作品。
$db->query("SELECT * FROM `meta` WHERE `metakey` = 'category_order'");
$order = $db->fetch_assoc()['metavalue'];
/*$order = 2,1,12,11,10*/
$db->query("SELECT * FROM `categories` WHERE `parent` = '0' ORDER BY field(ID, $order)");
$cats = $db->fetch();
我們減少查詢的號碼,我想是這樣,
$db->query("SELECT * FROM `categories` WHERE `parent` = '0' ORDER BY field(ID, (SELECT 'metavalue' FROM `meta` WHERE `metakey` = 'category_order'))");
它不顯示任何錯誤,但它給了我錯誤的輸出。有沒有辦法做到這一點?
EDIT
類別表的結構,
_________________
| ID | name |
-----------------
| 1 | A |
| 2 | B |
| 11 | C |
| 12 | D |
| 10 | E |
-----------------
元表的結構,
______________________________________
| ID | metakey | metavalue |
--------------------------------------
| 1 | category_order | 2,1,12,11,10 |
--------------------------------------
太棒了!這是像素完美的答案,像魅力一樣工作。謝謝@Kickstart。 – user1995997 2013-03-13 03:42:21