2015-10-25 5 views
0

Я довольно новичок в SQL, и я немного разбираюсь в сводных таблицах. Теперь я пытаюсь запросить три таблицы одновременно, но не могу заставить их работать.Как запросить следующую сводную таблицу в MySQL?

Вот таблицы я в настоящее время: таблица

продукты

| p_id | name | 
|------------------------| 
|  1  | ItemA | 
|------------------------| 
|  2  | ItemB | 

категория стол

| cat_id | cat  | 
|------------------------| 
|  1  | catA | 
|------------------------| 
|  2  | catB | 

** prod_cat поворотный стол с прод и кошке как FK * *

| prod | cat  | 
|------------------------| 
|  1  | 1  | 
|------------------------| 
|  2  | 1  | 
|------------------------| 
|  1  | 2  | 
|------------------------| 
|  2  | 2  | 

Сводная таблица в основном позволяет мне иметь несколько категорий для каждого продукта. Я уверен, что моя логика хороша в настройке таблицы (возможно, я ошибаюсь), но проблема, с которой я столкнулась, - это я не уверен, как запросить все 3 из них до output all the categories that the item belongs to. Я не уверен, как показать это в таблице, поэтому, если вам требуется более подробно вопрос, напишите комментарий, и я сделаю все возможное, чтобы отредактировать его.

Любая помощь будет оценена по достоинству.

ответ

0

Существуют различные подходы. один

select * from prod_cat 
left join products on products.p_id = prod_cat.prod 
left join category on category.cat_id = prod_cat.cat 

, что вам нужно, чтобы узнать, как научиться MySQL присоединяется

вы можете начать, проходя через уроки по w3schools

0

prod_cat является соединение таблицы, а не поворота стол, и вам нужны соединения для подключения ваших трех таблиц:

select p.p_id, p.name, c.cat 
from products p 
inner join prod_cat pc on p.id=pc.prod 
inner join category c on pc.cat=c.cat_id 
where p.p_id=... 
Смежные вопросы