Xpoint
   [напомнить пароль]

запрос по запросу

Метки: [без меток]
2007-01-23 06:04:31 [обр] MrIgor[досье]
вопрос состоит в том, чтобы создать sql запрос, по результатам запроса автоматически формировался новый запрос:
Петров Петр____Иванов Иван____Сидоров Сидор...
Иванов Иван____Стапанов Степан__Федоров Федор...
Федоров Федор___Ильин Илья_____Шестов Шест...
при поиске по Петрову выводился бы не только Петров, но автоматически поиск происходил по двум связянным с ним фамилиям Иванов и Сидоров, т.е. при запросе Петров, создавались бы запросы по Иванову и по Сидорову автоматически и далее в том же роде, в результате получится достаточно длинный список, но именно это и требуется. Возможно ли это осуществить? Каким образом? За ранее спасибо
спустя 9 часов [обр] Кирилл [Kirk] Королев(88/673)[досье]
Не очень понятно, что вы хотите получить в результате, но одним запросом этого не сделать.
спустя 23 минуты [обр] Закиров Руслан(12/343)[досье]
Может и сделать, но не понятна структура таблиц(ы) и что нужно получить :)
спустя 14 часов [обр] MrIgor[досье]
Есть всего одна таблица с набором данных типа:
id____firma______director________uchreditel1_______uchreditel2_____inn_________ogrn
1_____ФОБОС______Петров Петр_____Иванов Иван_______Сидоров Сидор___1234546_____2132154
2____ПРОКСИМА____Иванов Иван_____Стапанов Степан___Федоров Федор___1213131_____4564321
3____ФРИСТАЙЛ____Федоров Федор___Ильин Илья________Шестов Шест_____1213212_____2132132
и так далее, записей порядка 2000, вопрос состоит в том, что к примеру Иванов является директором фирмы ПРОКСИМА и учредителем в ФОБОС, с выводом этих данных проблем нет, но при поиске к примеру фирмы ФОБОС выводятся 3 и более (до 10ти) фамилии и есть вероятность, что Сидоров является учредителем еще где- то и деректором еще где- то, так вот при поиске, к примеру, по фирме, должен происходить поиск и по всем 3 фамилиям в таблице, не учавствуют ли они еще где либо в других фирмах, а найденные в свою очередь в других фирмах, планировалось 3-5 ступеней зависимости от первой фирмы
спустя 23 дня [обр] MrIgor[досье]
Пишу программу на Вorland С++6, запрос по одной фамилии или по фирме проблем не вызывает. Есть всего одна таблица с набором данных типа:
id___firma________ director_________uchreditel1_______uchreditel2_______inn______ogrn
1____ФОБОС______Петров Петр_____Иванов Иван_____Сидоров Сидор___1234546__2132154
2____ПРОКСИМА___Иванов Иван____Стапанов Степан__Федоров Федор___1213131__4564321
3____ФРИСТАЙЛ___Федоров Федор__Ильин Илья_______Шестов Шест_____1213212__2132132
и так далее, записей порядка 2000, вопрос состоит в том, что к примеру Иванов является директором фирмы ПРОКСИМА и учредителем в ФОБОС, при поиске к примеру фирмы ФОБОС выводятся 3 и более (до 10ти) фамилии учредителей и есть вероятность, что Сидоров является учредителем еще где- то и деректором еще где- то, так вот при поиске, к примеру, по фирме, должен происходить поиск и по всем 3 фамилиям в таблице, не учавствуют ли они еще где либо в других фирмах, а найденные в свою очередь в других фирмах, планировалось 3-5 ступеней зависимости от первой фирмы. по проще обьяснил надеюсь понятен ворос...
Т.е запрос на Петров Петр должен выводить
1_____ФОБОС______Петров Петр_____Иванов Иван_______Сидоров Сидор___1234546_____2132154
2____ПРОКСИМА____Иванов Иван_____Стапанов Степан___Федоров Федор___1213131_____4564321
спустя 8 часов [обр] Закиров Руслан(12/343)[досье]

Структура у вас не очень конечно, но сделать можно(я только немного ограничу):

SELECT f2.* FROM Firms f1, Firms f2
WHERE (f1.director = 'Иванов' OR f1.uchred1 = 'Иванов')
AND (
    f2.director = f1.director
    OR f2.uchred1 = f1.uchred1
    OR f2.director = f1.uchred1
    OR f2.uchred1 = f1.director
)

Где-то так, но мне кажется, что лучше структуру изменить.

Powered by POEM™ Engine Copyright © 2002-2005