|
|
|
Помогите написать запрос с JOIN-ом
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Надо выложить из связных таблиц (БД, мускуль информацию в одну ШТМЛ таблицу. Подробно: есть основная таблица 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 хранит коды городов и названия этох городов надо делать сводную таблицу в ШТМЛ такого рода: "имя", "название города". Как бы это организовать??? Заранее спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2014, 00:54:50 |
|
||
|
Помогите написать запрос с JOIN-ом
|
|||
|---|---|---|---|
|
#18+
revdalake, JOIN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2014, 06:40:48 |
|
||
|
Помогите написать запрос с JOIN-ом
|
|||
|---|---|---|---|
|
#18+
tanglir, Понял! Огромное спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2014, 11:36:38 |
|
||
|
Помогите написать запрос с JOIN-ом
|
|||
|---|---|---|---|
|
#18+
автортаблица 1 хранит имена людей, и код их города таблица 2 хранит коды городов и названия этох городов Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2014, 11:37:33 |
|
||
|
Помогите написать запрос с JOIN-ом
|
|||
|---|---|---|---|
|
#18+
SharuPoNemnogu, Спасибо SPN! Сейчас разберу!!!!!!!!!!!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2014, 11:48:47 |
|
||
|
Помогите написать запрос с JOIN-ом
|
|||
|---|---|---|---|
|
#18+
SharuPoNemnogu, Получилось! SELECT `main`.model, `size`.name FROM main INNER JOIN `size` ON `main`.size = `size`.id; это мы вытащили одно уникальное поле model из таблицы brand и поле name из связаной через поле id маленькой таблицы size у меня таких маленьких связаных таблиц (как `size`) около 10 и каждая обслуживает своё свойство товара а значит для каждого свойства товара (для каждой маленькой таблицы) необходимо писать свой запрос? Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2014, 12:07:54 |
|
||
|
Помогите написать запрос с JOIN-ом
|
|||
|---|---|---|---|
|
#18+
А одним запросом не? И если у Вас 10 джоинов надо лепить значит, скорее всего, не верная структура бд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2014, 12:42:29 |
|
||
|
Помогите написать запрос с JOIN-ом
|
|||
|---|---|---|---|
|
#18+
revdalake, зачем? вы просто цепляете справочники, дублей при этом вроде бы не должно получаться - тупо джойньте всё к главной. Если какие-то из свойств могут быть null, и результат получается пустой - читайте дальше, теперь уже про left join. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2014, 13:03:36 |
|
||
|
Помогите написать запрос с JOIN-ом
|
|||
|---|---|---|---|
|
#18+
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 ; Спасибо! Вот так всё работает. Скажите, а с точки зрения продуктивности, ну в смысле лаконичности кода и время обработки запроса сервером такой запрос корректен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2014, 16:24:00 |
|
||
|
Помогите написать запрос с JOIN-ом
|
|||
|---|---|---|---|
|
#18+
revdalake, да. Если на ваших данных он работает правильно (см. пред. пост), то навряд ли можно написать что-то более "корректное". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2014, 19:45:59 |
|
||
|
Помогите написать запрос с JOIN-ом
|
|||
|---|---|---|---|
|
#18+
Всё работает! )) Большое спасибо этому сайту, форуму и специалистам здесь работающим!!!!!!!!!!!!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2014, 11:43:01 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38774874&tid=1834081]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
33ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 280ms |

| 0 / 0 |
