Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Один запрос внутри другого / 12 сообщений из 12, страница 1 из 1
16.10.2006, 11:19
    #34056473
OLEGus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Один запрос внутри другого
Создаю обычную
Код: plaintext
SqlCommand

Текст запроса такой:

Код: plaintext
1.
" SELECT * FROM (SELECT DISTINCT table_name_en FROM discription WHERE table_name_ru = 'имя') "

Внутрений запрос возвращает одно значение - имя таблицы,
которое должно использоватся во внешнем запросе.
Но почемуто не работает.
Приходится создавать два отдельных запроса.
Не подскажите в чем проблема?
...
Рейтинг: 0 / 0
16.10.2006, 11:24
    #34056496
Ramin Hashimzade
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Один запрос внутри другого
какое отношение имеет вопрос к АДО . НЕТ???

и ешё ты понимаеш слово вложенные запросы?

----
www.hramin.jino-net.ru
...
Рейтинг: 0 / 0
16.10.2006, 11:29
    #34056513
Ramin Hashimzade
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Один запрос внутри другого
почитай БОЛ!

----
www.hramin.jino-net.ru
...
Рейтинг: 0 / 0
16.10.2006, 11:39
    #34056549
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Один запрос внутри другого
2 OLEGus
Если возникает какая-то ошибка, то ее нужно здесь процитировать. Гадать на кофейной гуще желающих мало.
В данном случае, скорее всего, дело в том, что выражение в скобках надо дать алиас. Иначе получается выборка из набора данных без имени.
Т.е. например так: SELECT * FROM (SELECT ...) T

2 Ramin
Здесь вполне обычный вложенный запрос. Вы сами то как понимаете это понятие? :-)
...
Рейтинг: 0 / 0
16.10.2006, 12:22
    #34056709
OLEGus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Один запрос внутри другого
Ошибка как бы в том что неправильный текст запроса.
Но елси внутрений запрос запустить отдельно, методом
Код: plaintext
ExecuteScalar()
.
А внешний так как и было, но используя полученое значение с внутренего, а не сам внутрений запрос - то все работает.
...
Рейтинг: 0 / 0
16.10.2006, 12:25
    #34056726
Bigheadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Один запрос внутри другого
2 OLEGus
Вы попробовали вариант, который я предложил? Судя по тексту ошибку, дело именно в алиасе подзапроса.
...
Рейтинг: 0 / 0
16.10.2006, 12:53
    #34056844
tru55
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Один запрос внутри другого
Внутрений запрос возвращает одно значение - имя таблицы,
которое должно использоватся во внешнем запросе.
Но почемуто не работает.


Если здесь сформулировано правильно, то вы действительно НЕ понимаете суть подзапросов. Внутренний подзапрос должен возвращать не ИМЯ таблицы, а НАБОР ДАННЫХ, который используется вместо набора из таблицы.

Например, 2 запроса эквивалентны
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SELECT *
FROM tab1

SELECT *
FROM
(SELECT *
 FROM tab1
)

Если действительно нужно переменное имя таблицы, из которой делается SELECT, то это реализуется другими средствами, не подзапросами. Дальнейшее, полагаю, зависит от используемой базы данных, например, в Oracle для этого используется dynamic SQL
...
Рейтинг: 0 / 0
16.10.2006, 12:55
    #34056860
Ramin Hashimzade
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Один запрос внутри другого
Bigheadman2 Ramin
Здесь вполне обычный вложенный запрос. Вы сами то как понимаете это понятие? :-)
тебя тоже надо читать БОЛ!

авторЗдесь вполне обычный вложенный запрос.



----
www.hramin.jino-net.ru
...
Рейтинг: 0 / 0
16.10.2006, 12:59
    #34056879
ANTIVIR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Один запрос внутри другого
Ramin Bigheadman2 Ramin
Здесь вполне обычный вложенный запрос. Вы сами то как понимаете это понятие? :-)
тебя тоже надо читать БОЛ!

авторЗдесь вполне обычный вложенный запрос.


Может , если вы такой умный, подскажете какой раздел BOL читатать, раз уже это не вложенный запрос???
...
Рейтинг: 0 / 0
16.10.2006, 13:00
    #34056882
OLEGus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Один запрос внутри другого
2 Bigheadman
спасибо, действительно в этом то и была ошибка,
вот рабочая строка:
Код: plaintext
" SELECT first.* FROM ( SELECT DISTINCT t_name_en FROM discription WHERE t_name_ua = 'имя') first";
...
Рейтинг: 0 / 0
16.10.2006, 13:12
    #34056929
Ramin Hashimzade
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Один запрос внутри другого
авторМожет , если вы такой умный, подскажете какой раздел BOL читатать, раз уже это не вложенный запрос???
я кто сказал что это не вложенный запрос???!!!

я направлял тебя в бол именно в раздел который описывается вложенные запросы!

и до поста я у себя пробывал это.. вот:

Код: plaintext
1.
2.
3.
4.
5.
6.
create table #tt1 (name varchar( 50 ))
insert into #tt1 values('#tt2')

create table #tt2 (name1 varchar( 50 ))
insert into #tt2 values('hello')

select t.* from (select top  1  name from #tt1) as t


----
www.hramin.jino-net.ru
...
Рейтинг: 0 / 0
16.10.2006, 13:38
    #34057053
ANTIVIR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Один запрос внутри другого
Ramin авторМожет , если вы такой умный, подскажете какой раздел BOL читатать, раз уже это не вложенный запрос???
я кто сказал что это не вложенный запрос???!!!

я направлял тебя в бол именно в раздел который описывается вложенные запросы!

Попробуйте при ответах в форуме хотябы пытаться смотреть кому и что вы отвечаете...
Дискуссию думаю смысла продолжать нет, т.к. вы, я вижу, слишком много знаете, боюсь мне будет сложно вас понять...
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Один запрос внутри другого / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]