MYSQL - выбрать и объединить несколько таблиц в одну JSON - PullRequest
0 голосов
/ 13 апреля 2020

Подскажите, пожалуйста, как я могу исправить этот запрос? У меня есть 3 таблицы БД.

  1. сетей.
  2. продуктов.
  3. комментариев.

Запрос выглядел так, как я добавил таблица «комментарии» (работала как положено):

SELECT networks.*, products.product, products.type 
FROM products 
JOIN networks ON products.id=networks.product_Id

, и теперь я попытался изменить ее с помощью дополнительной таблицы, и она не работает:

SELECT 
    networks.*, 
    products.product, 
    products.type, 
    comments.id AS comment_Id, 
    comments.newLine, 
    comments.lineComment AS comment, 
    comments.topComment, 
    comments.bottomComment 
JOIN networks ON products.id=networks.product_Id, 
ON comments.id=networks.comment_Id

Как я могу исправить этот запрос?

Спасибо за помощь:)

Ответы [ 2 ]

0 голосов
/ 13 апреля 2020

Вы присоединились к сети таблица с условием products.id = networks.product_Id Но для таблицы комментариев вы указали условие comments.id = networks.comment_Id но Вы забыли присоединиться к таблице comments .

try

 SELECT networks.*, 
    products.product, 
    products.type, 
    comments.id AS comment_Id, 
    comments.newLine, 
    comments.lineComment AS comment, 
    comments.topComment, 
    comments.bottomComment 
    FROM products
    JOIN networks ON products.id=networks.product_Id
    JOIN comments ON comments.id=networks.comment_Id
0 голосов
/ 13 апреля 2020

Я думаю, что вы используете следующий синтаксис:

SELECT 
    n.*, 
    p.product, 
    p.type,
    c.id AS comment_id, 
    c.newLine, 
    c.lineComment AS comment, 
    c.topComment, 
    c.bottomComment 
FROM products p
INNER JOIN networks n ON p.id = n.product_id
INNER JOIN comments c ON c.id = n.comment_id

То есть: синтаксис для нескольких объединений FROM ... JOIN ... ON ... JOIN ... ON ....

Обратите внимание, что использование псевдонимов таблиц сокращает запрос и облегчает чтение и запись.

...