从4个表中检索数据

时间:2011-01-26 10:56:44

标签: php mysql

enter image description here

我有这四个表假设环表包含五个字段(jewelry_id,ring_id,image,type,brand_id)

请注意,品牌表的外键在环表中,而环和样式在ring_style表中都有外键。现在我想从这四个表中检索以下数据 (ring_id,图片,类型,品牌,风格)但是没有得到任何帮助将非常感谢。

3 个答案:

答案 0 :(得分:2)

您只需使用与其相关的列加入每个表。

SELECT
  ring.ring_id,
  style.image,
  ring.type,
  brand.brand,
  style.style
FROM
  brand
INNER JOIN
  ring
ON
  brand.brand_id = ring.brand_id
INNER JOIN
  ring_style
ON
  ring.jewelry_id = ring_style.jewelry_id
INNER JOIN
  style
ON
  ring_style.style_id = style.style_id

答案 1 :(得分:1)

您必须使用SQL命令JOIN

使用一个查询从ring和brand获取信息的示例:

SELECT * FROM ring 
JOIN brand ON ring.brand_id = brand.brand_id;
WHERE ring.jewelry_id = 123456

在一个查询中使用多个JOIN以在一个查询中连接多个表。

答案 2 :(得分:1)

SELECT
    ring_id, image, type,
    brand,
    style
FROM      ring
LEFT JOIN brand ON ring.brand_id = brand.brand_id
LEFT JOIN ring_style ON ring.jewelry_id = ring_style.jewelry_id
     LEFT JOIN style ON ring_style.style_id = style.style_id

请注意,每个戒指会出现一次或多次。当响铃有多个ring_style记录时,它会出现不止一次。