powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите написать запрос с JOIN-ом
12 сообщений из 12, страница 1 из 1
Помогите написать запрос с JOIN-ом
    #38774629
revdalake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Надо выложить из связных таблиц (БД, мускуль информацию в одну ШТМЛ таблицу.
Подробно:
есть основная таблица 20 тысяч записей, называется "main", имеет поля "id", "model", "brand", "size"

есть вспомогательные таблицы "brand" и "size", они логически связаны
поле "brand" таблицы "main", хранит номер записи, "id", в таблице "brand")
поле "size" таблицы "main", хранит номер записи, "id", в таблице "size").

"brand"
id (int) unsugned primary
name (varchar)

"size"
id (int) unsigned primary
name (varchar)

Надо: при выводе данных из "main", вместо записи в полях "brand" и "size" подставлять запись полей "name" из таблиц "brand" и "size".

Совсем запутался. Я знаю что это легко в делфи делается... "связь по ключевым полям"... а вот как это в PHP+MySQL выглядит - не знаю.

========
Грубый пример требуемого:

таблица 1 хранит имена людей, и код их города
таблица 2 хранит коды городов и названия этох городов

надо делать сводную таблицу в ШТМЛ такого рода:
"имя", "название города".

Как бы это организовать???

Заранее спасибо!!!
...
Рейтинг: 0 / 0
Помогите написать запрос с JOIN-ом
    #38774686
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
revdalake,
JOIN
...
Рейтинг: 0 / 0
Помогите написать запрос с JOIN-ом
    #38774874
revdalake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

Понял!
Огромное спасибо!
...
Рейтинг: 0 / 0
Помогите написать запрос с JOIN-ом
    #38774875
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автортаблица 1 хранит имена людей, и код их города
таблица 2 хранит коды городов и названия этох городов
Код: sql
1.
2.
3.
SELECT people.<имена людей>, city.<названия этих городов>
FROM people
INNER JOIN city ON people.<код их города> = city.<коды городов>;
...
Рейтинг: 0 / 0
Помогите написать запрос с JOIN-ом
    #38774888
revdalake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SharuPoNemnogu,

Спасибо SPN!
Сейчас разберу!!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
Помогите написать запрос с JOIN-ом
    #38774916
revdalake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SharuPoNemnogu,

Получилось!
SELECT `main`.model, `size`.name
FROM main
INNER JOIN `size` ON `main`.size = `size`.id;

это мы вытащили
одно уникальное поле model из таблицы brand
и
поле name из связаной через поле id маленькой таблицы size

у меня таких маленьких связаных таблиц (как `size`) около 10 и каждая обслуживает своё свойство товара
а значит для каждого свойства товара (для каждой маленькой таблицы) необходимо писать свой запрос?
Так?
...
Рейтинг: 0 / 0
Помогите написать запрос с JOIN-ом
    #38774982
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А одним запросом не? И если у Вас 10 джоинов надо лепить значит, скорее всего, не верная структура бд
...
Рейтинг: 0 / 0
Помогите написать запрос с JOIN-ом
    #38775027
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
revdalake, зачем? вы просто цепляете справочники, дублей при этом вроде бы не должно получаться - тупо джойньте всё к главной. Если какие-то из свойств могут быть null, и результат получается пустой - читайте дальше, теперь уже про left join.
...
Рейтинг: 0 / 0
Помогите написать запрос с JOIN-ом
    #38776392
revdalake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

SELECT `main`.model, `brands`.brand, `size`.size, `type`.type, `cr`.cr, `lt`.lt
FROM main
INNER JOIN `brands` ON `main`.brand = `brands`.id
INNER JOIN `type` ON `main`.type = `type`.id
INNER JOIN `size` ON `main`.size = `size`.id
INNER JOIN `cr` ON `main`.cr = `cr`.id
INNER JOIN `lt` ON `main`.lt = `lt`.id
;

Спасибо!
Вот так всё работает.
Скажите, а с точки зрения продуктивности, ну в смысле лаконичности кода и время обработки запроса сервером такой запрос корректен?
...
Рейтинг: 0 / 0
Помогите написать запрос с JOIN-ом
    #38776652
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
revdalake, да. Если на ваших данных он работает правильно (см. пред. пост), то навряд ли можно написать что-то более "корректное".
...
Рейтинг: 0 / 0
Помогите написать запрос с JOIN-ом
    #38777094
revdalake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё работает! )) Большое спасибо этому сайту, форуму и специалистам здесь работающим!!!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
Помогите написать запрос с JOIN-ом
    #38777253
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор: Флуд зачищен
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите написать запрос с JOIN-ом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]