Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2022, 20:18   #1
svarkk
 
Регистрация: 18.04.2022
Сообщений: 4
По умолчанию Как отобразить содержимое строки из БД на странице php?

Слово специалист специально с точкой.
Здравствуйте, я новичок в программировании, столкнулся с проблемой.
У меня есть 4 таблицы (обведены) в двух крайних (FIO и speciality) содержатся просто строки с текстом. К ним обращается третья таблица (speci.alist) внешними ключами к строкам family и name_spec.
Вывожу я всё это на страницу php, чтобы вместо id отображалось содержимое этих строк (family и name_spec). т.е. фамилия и профессия я использую данный sql-запрос:

Код:
SELECT
 
FIO.family AS 'Id_FIO',
speciality.name_spec AS 'id_profession'
 
FROM speci.alist
LEFT JOIN FIO ON (FIO.id = speci.alist.Id_FIO)
LEFT JOIN speciality ON (speciality.id = speci.alist.Id_profession)
И всё хорошо. Но, мне сейчас нужно вывести строку с id из 3 таблицы (speci.alist), в 4 таблицу (uchastok). Т.е. нужно достать фамилию специалиста, которая в свою очередь берётся из таблицы 1(FIO).
И вопрос заключается в следующем, как мне сделать отображение содержимого строки из таблицы 1 (FIO), в таблице 4 (uchastok) , но с id из таблицы 3 (speci.alist)?
Т.е. чтобы не было ситуации, когда у меня есть выбор фамилии человека, когда он отсутствует в таблице 3 (speci.alist).
Изображения
Тип файла: png Screenshot_1.png (44.8 Кб, 1 просмотров)

Последний раз редактировалось svarkk; 18.04.2022 в 21:37.
svarkk вне форума Ответить с цитированием
Старый 19.04.2022, 10:22   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Код:
select uhastok.*, specialist.*, fio.* 
from uchastok
left join specialist on uchastok.id_specialist =specialist.id
left join fio on specialist.id_fio =fio.id
P.S.
Цитата:
когда он отсутствует в таблице 3 (speci.alist)
кроме left можно еще inner
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 19.04.2022 в 10:25.
evg_m на форуме Ответить с цитированием
Старый 19.04.2022, 11:58   #3
svarkk
 
Регистрация: 18.04.2022
Сообщений: 4
По умолчанию

evg_m,

Большое спасибо что подсказали и подтолкнули в правильное русло!
Сейчас всё выводится корректно, помог вот такой запрос:

Код:
SELECT

nomer_uchastok.nomer_uchastok AS 'id_nom_uchastok',
FIO.family 

FROM uchastok
LEFT JOIN nomer_uchastok ON uchastok.id_nom_uchastok = nomer_uchastok.user_id
LEFT JOIN specialist ON uchastok.id_specialist = specialist.id
LEFT JOIN FIO ON specialist.id_fio = FIO.id
svarkk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
можно ли как то отобразить содержимое папки на странице в виде дерева с подкаталогами и файлами? Kot070 JavaScript, Ajax 6 31.10.2017 00:03
Как в папке отобразить содержимое другой папки? hunter03 Win Api 10 19.10.2012 15:30
Как отобразить на форме содержимое HTML-документа? Alexpol Общие вопросы Delphi 13 09.01.2011 22:39
Непонятная ошибка при попытке отобразить содержимое таблица базы данных в компоненте DBGrid. hk47 БД в Delphi 6 17.04.2010 08:05