2010-09-15 83 views
1

我有一個表'圖像',其中包含來自表'事件'和'類別'的外鍵。SQL連接3個表

我有一個顯示所有事件的函數。

我能夠選擇與圖像中的表圖片相關聯的所有事件,但我想添加其他條件,例如類別:

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."'"; 

回答

1

你可以做第二個內部連接到類別。猜測在列名:

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 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."'"; 

我還沒有測試過,但這是你使用的格式。

0
$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."'";