Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрос с условиями проверяющимися в других таблица 
:(
    Опции темы
gambit
Дата 24.3.2011, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: нет
Всего: 40



Добрый день. Надо сделать сложный запрос, правда я сомневаюсь, что такое вообще возможно. Выбираются только те записи, у которых совпадает условие в других таблицах. Теперь подробнее.

есть 3 таблицы.
Главная
user posted image
параметры
user posted image
имена объектов
user posted image
В хранимку поступают 2 параметра имя объекта и имя параметра
Надо:
идем по главной таблице:
1. Берем запись, смотрим ее idLinkedObject
идем в таблицу имена объектов, выбираем запись с этим id (она всегда одна), и записи с ее id в поле idParent, смотрим получившийся список имен, если какая то строка совпадает с параметром их хранимки то переходим к второму шагу, если нет, то пропускаем эту запись из главной тбл.

2. Идем в таблицу имен параметров, выбираем все записи у которых idLog=id из записи главной таблицы, смотрим в полученном списке name и value если хоть что то совпадает, то добавляем запись из главной таблицы в итоговый результат. Т.е. в итоге хранимка должна возвращать записи у которых в linkedObject хоть один совпал с переменной и extraparam хоть один совпал с переменной.

В базах практически нуль, так что может и шаги я описал неправильно, может как ниб по другому это все надо. Возможно ли вообще такое, куда копать, кто чем поможет??

Это сообщение отредактировал(а) gambit - 24.3.2011, 13:57
PM MAIL ICQ Skype   Вверх
bend0r
Дата 29.3.2011, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



если правильно понял то примерно так:

Код

select distinct rootTable.*
from [Главная] rootTable
join [имена объектов] nameObj on rootTable.idLinkedObject=nameObj .id
join [имена объектов] nameObjCh on nameObjCh .idParent=nameObj.id
   and nameObjCh.objectType=@par1
join  [параметры] param on param. idLog=rootTable.id
   and param.name=@par2 or param.value=@par2

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


 




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


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

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