【问题标题】:SQL join 3 tablesSQL连接3个表
【发布时间】:2010-09-15 18:01:24
【问题描述】:

我有一个表“图像”,其中包含表“事件”和“类别”中的外键。

我有一个显示所有事件的函数。

我可以在图像表中选择与图片关联的所有事件,但我想为类别添加另一个条件,例如:

select event from images where category is $category

有没有办法将类别也加入图像?

$query = "SELECT e.event
FROM images i
INNER JOIN event e 
ON e.eventID = i.eventID
WHERE event = '".$specificEvent."'";

【问题讨论】:

    标签: php sql mysql


    【解决方案1】:

    您可以根据需要添加任意数量的表和内部连接,只需确保连接正确的字段

    你的例子:

    $query = "SELECT e.event FROM images i INNER JOIN event e ON 
              e.eventID = i.eventID WHERE event = '".$specificEvent."'";
    

    更新示例:

    $query = "SELECT e.event FROM images i INNER JOIN event e ON 
             e.eventID = i.eventID 
             inner join Category c ON i.categoryid = c.categoryid 
             WHERE event = '".$specificEvent."'";
    

    我没有测试过,但这是你使用的格式。

    【讨论】:

      【解决方案2】:

      您可以对类别进行第二次内部连接。猜测列名:

      SELECT e.event 
      FROM images i INNER JOIN event e ON e.eventID = i.eventID 
      INNER JOIN categories c ON c.categoryID = i.categoryID
      WHERE event = 'specificEvent' AND category = 'someCategory'
      

      【讨论】:

        【解决方案3】:
        $query = "SELECT e.event FROM images i INNER JOIN event e ON e.eventID = i.eventID INNER JOIN category c ON c.categoryId = i.categoryId WHERE e.event = '".$specificEvent."' and c.categoryId = '".$specificCategoryId."'"; 
        

        【讨论】:

          猜你喜欢
          • 2012-02-22
          • 1970-01-01
          • 1970-01-01
          • 2015-06-02
          • 1970-01-01
          • 1970-01-01
          • 2011-09-18
          • 2022-07-22
          • 2017-09-18
          相关资源
          最近更新 更多