Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MySQL запрос из неопределенного количества таблиц, одним запросом 
V
    Опции темы
NNaarreekk
Дата 1.2.2009, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Привет!
Есть таблицы:
m0
m1
m2
m3
В котых строки id with text. В with хранится id из верхней таблицы.
То есть если у нас есть переменная
Код

$x="1,5,3,3";

Это значит что нужно взять из m3 строку с id=3, из m2 строку с id=with(из m3), из m1 с id=with(из m2(с with из m2)).....
Не поняли??
Не страшно я и сам не понимаю! smile 

Вот схема чего я хочу:
user posted image

Что думаете можно взять эту информацыю одним запросом??
PM MAIL WWW   Вверх
TUMS
Дата 1.2.2009, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 61
Регистрация: 16.3.2008

Репутация: 2
Всего: 3



Код

LEFT JOIN

PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
NNaarreekk
Дата 1.2.2009, 17:23 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Цитата(TUMS @  1.2.2009,  19:05 Найти цитируемый пост)
LEFT JOIN

Тыб еще написал MySQL smile 
PM MAIL WWW   Вверх
NNaarreekk
Дата 1.2.2009, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Цитата(NNaarreekk @  1.2.2009,  19:23 Найти цитируемый пост)
Тыб еще написал MySQL smile

Кто не понял я имел ввиду что не отказался бы от более конкретного ответа! smile 
PM MAIL WWW   Вверх
skyboy
Дата 1.2.2009, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(NNaarreekk @  1.2.2009,  15:02 Найти цитируемый пост)
Не страшно я и сам не понимаю!

может, на примере? или, ещё лучше, обрисовать задачу в целом?
и не понятно, как заявленное в названии темы "неопределенное количество таблиц" связано с указанными в первом сообщении ровно четырмя таблицами.

PM MAIL   Вверх
NNaarreekk
Дата 1.2.2009, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Цитата(skyboy @  2.2.2009,  01:03 Найти цитируемый пост)
может, на примере?

Ну на картинке более или менее показанно... Нужно взять из каждой предыдущей таблицы m* взять строку id у которой совпадает с with из прошлой таблицы m*+1, если конечно есть.
Цитата(skyboy @  2.2.2009,  01:03 Найти цитируемый пост)
как заявленное в названии темы "неопределенное количество таблиц" связано с указанными в первом сообщении ровно четырмя таблицами

Вот в этом вся неопределенность что нету 4х таблиц это для примера написано, ана самом  деле может быть от одной таблицы до бесконечности(сколько MySQL потянет).
Вот по совету TUMS-а поиска и нашел:
Код

SELECT *
           FROM a
           [LEFT] JOIN b ON b.id = a.b_id
           [LEFT] JOIN с ON с.id = b.c_id


как я понимаю можно эти join-ы добавлят столько сколько нужно, но не очень разбираюсь в этом, так что от примерчика не отказался бы! smile 
PM MAIL WWW   Вверх
Akina
Дата 1.2.2009, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 5
Всего: 454



Цитата(NNaarreekk @  2.2.2009,  00:23 Найти цитируемый пост)
ана самом  деле может быть от одной таблицы до бесконечности(сколько MySQL потянет).

Надо было сначала всё спланировать, а потом уже код лабать...
Меняй структуру на Tree или на Parent-Child (в зависимости от физики процесса).


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
NNaarreekk
Дата 2.2.2009, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Цитата(Akina @  2.2.2009,  01:39 Найти цитируемый пост)
Меняй структуру на Tree или на Parent-Child (в зависимости от физики процесса). 

можно по русски?


Цитата(Akina @  2.2.2009,  01:39 Найти цитируемый пост)
Надо было сначала всё спланировать, а потом уже код лабать...

А ты о неправельности из одного запроса понял? Ванга отдыхает! smile 

Это сообщение отредактировал(а) NNaarreekk - 2.2.2009, 00:03
PM MAIL WWW   Вверх
skyboy
Дата 2.2.2009, 00:49 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(NNaarreekk @  1.2.2009,  23:02 Найти цитируемый пост)
А ты о неправельности из одного запроса понял? Ванга отдыхает!

в спланированной под использование в реляционных СУБД структуре данных не может быть "потенциально бесконечного числа таблиц". так что, либо ты неправильно спроектировал структуру данных в БД в mysql, либо неправильно понял задачу(и потому неправильно спроектировал структуру данных в БД)
PM MAIL   Вверх
NNaarreekk
Дата 2.2.2009, 08:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Цитата(skyboy @  2.2.2009,  02:49 Найти цитируемый пост)
не может быть "потенциально бесконечного числа таблиц"

У мня сайт в которых ты можешь создавать меню, а каждему меню сунменю, а каждому субменю еще субсубменю а каждему субсубменю.....
Так что мне надо было делать??

Точнее у меня ни сайт а CMS так что в следующих версиях могу исправить, это можно считать бета-версией smile 
PM MAIL WWW   Вверх
skyboy
Дата 2.2.2009, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(NNaarreekk @  2.2.2009,  07:02 Найти цитируемый пост)
Так что мне надо было делать??

Цитата(Akina @  1.2.2009,  22:39 Найти цитируемый пост)
Меняй структуру на Tree или на Parent-Child (в зависимости от физики процесса). 


PM MAIL   Вверх
nerezus
Дата 2.2.2009, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Цитата

А ты о неправельности из одного запроса понял? Ванга отдыхает! 
 А разве это не очевидно?
С опытом сам будешь такие выводы делать ;)


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
nerezus
Дата 2.2.2009, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Цитата

У мня сайт в которых ты можешь создавать меню, а каждему меню сунменю, а каждому субменю еще субсубменю а каждему субсубменю.....
Так что мне надо было делать??
 1 таблицу: id, text, link, parent_id


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
NNaarreekk
Дата 2.2.2009, 14:49 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Цитата(nerezus @  2.2.2009,  15:51 Найти цитируемый пост)
1 таблицу: id, text, link, parent_id 

А так что лучше чем каждая отдельно?

Тут я случайно подумал и понял что и правда так лучше smile
Раз такие умные не могли что-ли заранее сказать! Обязательно нужно спросить чтоб ответили!? smile

Это конечно исправлю, но вопрос еще остается, тока теперь нужно взять те же строки, но из одной таблицы.
PM MAIL WWW   Вверх
solenko
Дата 2.2.2009, 15:06 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 34
Всего: 67





--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0602 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.