Re: Трудный запрос MySQL или MSSQLServer
От: kadalex Россия  
Дата: 06.11.03 08:39
Оценка:
Здравствуйте, theOne, Вы писали:

O>Есть три таблицы


O>

O>table1
O>uniq
O>t1f1   t1f2

O>table2
O>uniq
O>t2f1 t1f1 t2f3

O>table3
O>uniq
O>t3f1 t2f1 t3f3

O>Есть значение 1 для поля t1f1 (t1f1=1) таблицы table1 и естественно получается и для таблицы table2
O>Необходимо получить:
O>t2f1 t2f3                 t3f3
O>1     tbl2-bla-bla-bla1   tbl3-bla-bla-bla1
O>2     tbl2-bla-bla-bla2   tbl3-bla-bla-bla3
O>


O>Попробуем решить? У меня что-то свежих мыслей нет. В один запрос ну никак поместить это не выходит.

O>Люди добрые, пожите Please.

вот пример запроса:
select t2.t2f1, t2.t2f3, (select top 1 t3f3 from table3 t3 where t3.t2f1=t2.t2f1) from table2 t2 inner join table1 t1 on t1.t1f1=t2.t1f1 where t1.t1f1=1

или
select t2.t2f1, t2.t2f3, (select top 1 t3f3 from table3 t3 where t3.t2f1=t2.t2f1) from table2 t2 where t2.t1f1=1

только это решение не дает однозначного ответа, но при заполнении таблиц в том порядке который вы привели, в результате выполнения запроса получим такую выборку:
t2f1 t2f3 t3f3
1 tbl2-bla-bla-bla1 tbl3-bla-bla-bla1
2 tbl2-bla-bla-bla2 tbl3-bla-bla-bla3
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.