我的mysql数据库上有2个表: - 餐厅 - restaurant_type
餐厅有3栏:id
,idtype
,name
示例:
- 1,1-2,餐厅名称
- 2,2-3-5,餐厅名称
restaurant_type有2列:idtype
,typename
示例:
- 沙拉
- 汉堡
- 牛排馆
- 日本
- 炸薯条
醇>
那时,我的sql请求是:
mysql_query("select distinct
restaurant.idtype,
restaurant_type.idtype,
restaurant_type.typename
from restaurant,restaurant_type
where restaurant.idtype=restaurant_type.idtype
order by restaurant_type.typename");
但我不知道如何添加爆炸功能来搜索不同的idtype
。
帮助我的想法?
谢谢!
答案 0 :(得分:1)
你的桌子方案错了。您将N:M关系(餐厅< - >类型)视为1:N,而不是。所以不需要2个表,你需要3:
id
,name
)id
,name
)id_restaurant
,id_type
)示例数据:
Restaurant ========== 1, restaurant name 1 2, restaurant name 2 Type ==== 1, Salad 2, Burguer 3, Steak House 4, Japanese 5, French Fries Restaurant type =============== 1, 1 1, 2 2, 2 2, 3 2, 5
然后你的查询:
SELECT DISTINCT restaurant.name, type.name
FROM restaurant,restaurant_type
WHERE restaurant.id = restaurant_type.id_restaurant and restaurant_type.id_type = type.id
ORDER BY type.name