За последние 24 часа нас посетили 17374 программиста и 1716 роботов. Сейчас ищут 1499 программистов ...

mysql запрос по связанным столбцам

Тема в разделе "PHP и базы данных", создана пользователем Иван Sergeevich, 8 июн 2019.

Метки:
  1. Иван Sergeevich

    Иван Sergeevich Новичок

    С нами с:
    8 июн 2019
    Сообщения:
    4
    Симпатии:
    0
    Приветствую, уважаемые форумчане!
    Прошу без гневных ответов. Вопрос состоит в следующем:

    Имеется несколько таблиц.

    Table1
    id | dataid2 | dataid3 | dataid4

    Table2
    id | data | name

    Table3
    id | data | name

    Table4
    id | data | name

    Table1.dataid2 = Table2.id, Table1.dataid3 = Table3.id, Table1.dataid4 = Table4.id

    Как реализовать запрос, что бы получить в результате NAME-значения таблиц 2,3,4 согласно dataid1,dataid2,dataid3

    Я понимаю, что это делается через JOIN-ы, но найти качественную обучающую статью на русском или английском где я бы понял принцип работы запроса - не смог.

    Прошу как можно понятнее рассказать, если Вам не сложно.
    Заранее спасибо!
     
  2. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.264
    Симпатии:
    405
    PHP:
    1. select t2.name as name1, t3.name as name2, t4.name as name3
    2. from Table1 as t1
    3. left join Table2 as t2 on t1.dataid2 = t2.id
    4. left join Table3 as t3 on t1.dataid3 = t3.id
    5. left join Table4 as t4 on t1.dataid4 = t4.id
     
    Иван Sergeevich нравится это.
  3. Иван Sergeevich

    Иван Sergeevich Новичок

    С нами с:
    8 июн 2019
    Сообщения:
    4
    Симпатии:
    0
    Как только не пытался, результат получается отрицательный. Видимо моих знаний не хватает даже на то, что бы скопировать и вставить. Или я ещё чего то не знаю, не учёл.
     
    #3 Иван Sergeevich, 16 июн 2019
    Последнее редактирование: 16 июн 2019
  4. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.264
    Симпатии:
    405
    Иван Sergeevich нравится это.
  5. Иван Sergeevich

    Иван Sergeevich Новичок

    С нами с:
    8 июн 2019
    Сообщения:
    4
    Симпатии:
    0
    PHP:
    1. SELECT id,header,idstreq,idspec,idrlvl,startt,endt,rlvl.name AS rln FROM req LEFT JOIN rlvl ON req.idrlvl = rlvl.id WHERE idgrp='$grpid'
     
  6. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.264
    Симпатии:
    405
    а вот это все из какой таблицы req или rlvl?
    PHP:
    1. id,header,idstreq,idspec,idrlvl,startt,endt   idgrp
    вот и запрос не в курсе
     
    Иван Sergeevich нравится это.
  7. Иван Sergeevich

    Иван Sergeevich Новичок

    С нами с:
    8 июн 2019
    Сообщения:
    4
    Симпатии:
    0
    Спасибо. Понял.
     
  8. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.264
    Симпатии:
    405
    А вообще не лезьте в php пока не увидете результат в среде sql.