Sql + php加入并爆炸

时间:2015-10-12 07:35:52

标签: php mysql sql

我的mysql数据库上有2个表: - 餐厅 - restaurant_type

餐厅有3栏:ididtypename

  

示例:

     
      
  • 1,1-2,餐厅名称
  •   
  • 2,2-3-5,餐厅名称
  •   

restaurant_type有2列:idtypetypename

  

示例:

     
      
  1. 沙拉
  2.   
  3. 汉堡
  4.   
  5. 牛排馆
  6.   
  7. 日本
  8.   
  9. 炸薯条
  10.   

那时,我的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

帮助我的想法?

谢谢!

1 个答案:

答案 0 :(得分:1)

你的桌子方案错了。您将N:M关系(餐厅< - >类型)视为1:N,而不是。所以不需要2个表,你需要3:

  • 餐厅(idname
  • 输入(idname
  • restaurant_type(id_restaurantid_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