запросите sql и получите результат для значения внешнего ключа (не id) - PullRequest
1 голос
/ 31 августа 2010

Table IMAGES:

  • columns- imageID, Image, and categoryID*(this being the foreign key)

Table CATEGORIES:

  • columns categoryID, Category

и запрос peform, например:

 $sql = "SELECT categoryID FROM IMAGES WHERE image = 'exampleImage'";

Я бы получил результат как целое число с идентификатором категории, т.е. 1

У меня вопрос, какой будет запрос для отображения категории, к которой принадлежит идентификатор? Или любые предложения о том, как обойти несколько запросов.

Ответы [ 2 ]

2 голосов
/ 31 августа 2010

Вы хотите использовать внутреннее соединение, чтобы оно возвращало записи, которые соответствуют критериям объединения.

SELECT Images.CategoryID, Category.Category
FROM IMAGES
INNER JOIN Category ON Category.CategoryID = Images.CategoryID
WHERE image = exampleimage
0 голосов
/ 31 августа 2010

используйте простое соединение слева:

SELECT imageID, Image, IMAGE.categoryID, CATEGORIES.Category
FROM IMAGES
LEFT JOIN CATEGORIES
ON IMAGES.categoryID = CATEGORIES.categoryID
WHERE image = 'exampleImage'

используйте псевдонимы таблиц, чтобы сделать утверждение короче:

SELECT imageID, Image, i.categoryID, c.Category
FROM IMAGES i
LEFT JOIN CATEGORIES c
ON i.categoryID = c.categoryID
WHERE image = 'exampleImage'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...