![]() |
|
Модераторы: skyboy |
![]()
|
|
| s1lver |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 580 Регистрация: 14.12.2007 Где: Россия Репутация: нет Всего: нет |
Доброго времени суток!
Есть таблица в которой записи вида id number nomer1 nomer2 nomer3 Вторая таблица с записисями вида id nomer tab3_id Третья таблица с записями вида tab3_id name_id Четвертая таблица с записями вида name_id name С помощью JOIN можно вывести данные типа nomer1 name В принципе достаточно правильно. Но как можно выбрать записи, чтобы можно было вывести списком сопоставления nomer2 с name и nomer3 с name. (nomer3 может отсутствовать). На данный момент сопоставление идет номера 2,3 с name номера 1. Предполагаю, что одним SQL-запросом тут не обойтись. Прошу помочь разобраться в этом вопросе. Это сообщение отредактировал(а) s1lver - 28.7.2014, 12:04 -------------------- Я собрался жить вечно - пока все идет нормально! |
|||
|
||||
| Zorak |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 720 Регистрация: 13.11.2007 Репутация: нет Всего: 3 |
Если у тебя есть связи между таблами то можно и одним запросом, но потом просто грамотно надо отфетчить результат, чтобы выстроилась нужная тебе структура массива, а дальше просто выводиш сформированный массив.
-------------------- Знание - сила. А сила есть, ума не надо... Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло. |
|||
|
||||
| s1lver |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 580 Регистрация: 14.12.2007 Где: Россия Репутация: нет Всего: нет |
Хм, текущий запрос
Возвращает такую структуру array(1) { [0]=> array(4) { ["nomer1"]=> string(13) "3232323444444" ["nomer2"]=> string(13) "8766454453443" ["nomer3"]=> string(1) "0" ["name"]=> string(8) "Иван" } } Т.е, нет данных по другим номерам. Включается только данные по основному номеру. Это сообщение отредактировал(а) s1lver - 28.7.2014, 12:12 -------------------- Я собрался жить вечно - пока все идет нормально! |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: нет Всего: 137 |
Зачем вопрос про SQL писать в раздел по PHP? Переношу тему.
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Избавьтесь от JOIN и перепишите запрос на декарт с отбором, объединив альтернативные условия через OR и грамотно расставив скобки.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| s1lver |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 580 Регистрация: 14.12.2007 Где: Россия Репутация: нет Всего: нет |
Потому что, я не был уверен что это можно сделать одним запросом -------------------- Я собрался жить вечно - пока все идет нормально! |
|||
|
||||
| s1lver |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 580 Регистрация: 14.12.2007 Где: Россия Репутация: нет Всего: нет |
Вопрос, таки, решен одним запросом к БД!
-------------------- Я собрался жить вечно - пока все идет нормально! |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: нет Всего: 137 |
тем ни менее, в вопросе не строчки про серверный код в целом, и PHP в частности. В таких случаях все же нужно создавать темы здесь, а далее если SQL решение не найдено, дублировать тему с отсылкой сюда в серверных тредах. Кроме того было бы хорошо поделится решением в теме, мало ли кому оно пригодится. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Не вижу смысла. Решение, во-первых, тривиальное, во-вторых, структура не нормализована, потому решение не представляет даже теоретического интереса. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |