我有 2 个 MySQL 表,其中一个有一个数字列来组织我需要显示项目的顺序:
item_names
menu_id | dish_id | section_id | item_name
--------------------------------------------------
1 | 23 | 2 | Pie
1 | 24 | 2 | Fish
1 | 25 | 3 | Apples
1 | 26 | 2 | Onions
1 | 27 | 2 | Chips
link_extras
extra_id | dish_id | sort
-----------------------------
1 | 23 | 2
2 | 23 | 2
3 | 23 | 2
1 | 24 | 0
5 | 24 | 0
6 | 26 | 3
12 | 26 | 3
1 | 27 | 1
1 | 25 | 0
基本上我想要做的是从表中提取每道菜,menu_id
并section_id
根据表中的列item_names
对输出进行排序。sort
link_extras
至今:
$query="SELECT a.item_name, a.dish_id, b.sort
FROM item_names AS a, link_extras AS b
WHERE a.menu_id='1'
AND a.section_id='2'
AND b.dish_id=a.dish_id
GROUP BY b.dish_id
ORDER BY b.sort";
我对数据库很陌生,因此将不胜感激。我追求的结果是
Fish
Chips
Pie
Onions
不幸的是,无法让订单正确。