Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
View ругается и не сохраняется!
|
|||
|---|---|---|---|
|
#18+
Я создаю View с таким запросом: SELECT DATE, MIN(ENDDATE) - 1 FROM (SELECT DISTINCT TOP 100 PERCENT V.[date], V1.[date] AS ENDDATE FROM dbo.Valuta V INNER JOIN dbo.Valuta V1 ON V.[date] < V1.[date] GROUP BY V1.[date], V.[date] ORDER BY V.[date]) TEMP GROUP BY DATE В окне дизайнера он у меня работает как надо, но при попытке сохранить View ругается: View definition includes no output columns or no items in the FROM clause. Как мне быть, ведь запрос работает? Как сохранить View? Помогите! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2001, 16:55 |
|
||
|
View ругается и не сохраняется!
|
|||
|---|---|---|---|
|
#18+
SELECT TOP 100 PERCENT DATE, MIN(ENDDATE) - 1 FROM (SELECT DISTINCT TOP 100 PERCENT V.[date], V1.[date] AS ENDDATE FROM dbo.Valuta V INNER JOIN dbo.Valuta V1 ON V.[date] < V1.[date] GROUP BY V1.[date], V.[date] ORDER BY V.[date]) TEMP GROUP BY DATE При наличии во View фразы ORDER BY требуетс, чтобы в SELECT обязательно была использована фраза TOP... PS По идеи это вам и должно было сообщаться в ошибке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2001, 17:16 |
|
||
|
View ругается и не сохраняется!
|
|||
|---|---|---|---|
|
#18+
Glory,спасибо за отклик! Мне кажется, что эта проблема из-за того, что таблица Temp формируется динамически из подзапроса, а View требует привязки к реальным столбцам таблиц или других View. View definition includes no output columns or no items in the FROM clause. Ведь это звучит примерно так: View определил, что отсутствуют колонки вывода (поля в SELECT) или нет источников в выражении FROM. Вот. Сижу, думаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2001, 18:03 |
|
||
|
View ругается и не сохраняется!
|
|||
|---|---|---|---|
|
#18+
Да поспешил я с TOP 100 PERCENT (невнимательно рассмотрел запрос) А как собственно вы создаете View ? Помниться Enterprise Manager-е встроенный дизайнер View как раз и не умел работать с вложенными запросами. Надо было создавать View либо в QA через CREATE VIEW ..., либо в EM создавть View вида SELECT * FROM mytable, сохранять его под нужным именем и потом открывать в режиме Properties, а не Design и править текст запроса на нужный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2001, 18:18 |
|
||
|
View ругается и не сохраняется!
|
|||
|---|---|---|---|
|
#18+
2 Glory. Так ведь у него Order by в подзапросе и Top в нем же. Или ты советуешь перенести Top в главный запрос? 2All. Distinct - подозрительная конструкция. Я не рекомендую ее совмещать в одном select-е вместе с фразой top. Я наблюдал всякие чудеса при различных их комбинациях. Кроме того, не рекомендую совмещать запрос, содержащий фразу distinct с подзапросом, который также содержит такую фразу. На грабли, вызываемые таким совмещением, наткнулся буквально сегодня. Запускаю такой запрос на вставку записей с подзапросом в QA - работает. Сохраняю его без каких-либо корректив в хранимой процедуре - уже не работает. Точнее, не то, чтобы совсем не работает - выдает ошибку нарушения уникальности ключевого поля. Стал прогонять в отладчике - выяснилось, что фраза distinct у подзапроса в хранимой процедуре ломается - делает вид, что ее не существует. Подзапрос вместо 12 записей возвращает несколько сотен. Фраза distinct, включение которой в подзапрос и должно было обеспечить уникальность ключевых полей при вставке записей, будто растворилась в воздухе, отсюда и возникло нарушение уникальности ключевых полей при вставке. Убрал из главного запроса фразу distinct - все заработало (включился distinct подзапроса). Вот такая петрушка на SQL 2000. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2001, 18:24 |
|
||
|
View ругается и не сохраняется!
|
|||
|---|---|---|---|
|
#18+
Podzapros dolzhen rabotat'. Ne uveren chto pomozhet, no poprobuy DATE v kvadratnie skobki vziat'. I GROUP BY v podzaprose dumayu ne nuzhen (tam uzhe DISTINCT est' na teh zhe poliah). SELECT TOP 100 PERCENT temp.[DATE], MIN(temp.ENDDATE) - 1 FROM (SELECT DISTINCT TOP 100 PERCENT V.[date], V1.[date] AS ENDDATE FROM dbo.Valuta V INNER JOIN dbo.Valuta V1 ON V.[date] < V1.[date] ORDER BY V.[date]) TEMP GROUP BY temp.[DATE] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2001, 18:25 |
|
||
|
View ругается и не сохраняется!
|
|||
|---|---|---|---|
|
#18+
Пишу запрос используя встроенный дизайнер. В нем запрос, как я уже говорил, работает так как задумано, а сохранять View не хочет. Glory, что за аббривиатура QA? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2001, 18:27 |
|
||
|
View ругается и не сохраняется!
|
|||
|---|---|---|---|
|
#18+
QA - Query Analyzer Если встроенный дизайнер, тогда точно - запиши произвольный запрос SELECT * FROM mytable во View с нужным именем, а потом в том же EM на нем на правой кнопке выбири Properties и замени текст запроса на нужный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2001, 18:32 |
|
||
|
View ругается и не сохраняется!
|
|||
|---|---|---|---|
|
#18+
Glory, огромное спасибо за советы!!! Попробую применить приобретенные знания! :0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2001, 18:36 |
|
||
|
View ругается и не сохраняется!
|
|||
|---|---|---|---|
|
#18+
Glory, огромное спасибо за советы!!! Огромное спасибо ВСЕМ!!!! Попробую применить приобретенные знания! :0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2001, 18:37 |
|
||
|
View ругается и не сохраняется!
|
|||
|---|---|---|---|
|
#18+
Кстати - IMHO хорошее предложение от Garya, насчет выноса ORDER во внешний запрос - зачем что-то сортировать в подзапросе, ведь его результат пользователь все рано увидит результат работы внешнего запроса (а может быть вам ORDER вобще не нужен ? ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2001, 18:38 |
|
||
|
View ругается и не сохраняется!
|
|||
|---|---|---|---|
|
#18+
ORDER BY уберу, он там действительно ни к чему. Но проблема была все-таки не в нем. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2001, 18:40 |
|
||
|
View ругается и не сохраняется!
|
|||
|---|---|---|---|
|
#18+
Glory, проблема была действительно во встроинном дизайнере! Поработал ручками через "свойства" - все изумительно работает. Убрал часть мусора. Вот вариант: ......................................................... CREATE VIEW view2 AS SELECT [date] as StartDate, min(ENDDATE) as EndDate FROM (SELECT V.[date], V1.[date] AS ENDDATE FROM dbo.Valuta V INNER JOIN dbo.Valuta V1 ON V.[date] < V1.[date]) temp1 group by [date] .......................................................... Еще раз всем спасибо! Glory, Вам персонально! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2001, 19:13 |
|
||
|
View ругается и не сохраняется!
|
|||
|---|---|---|---|
|
#18+
На будующее: проблема была просто в том что для 2-й колонки не было задано имя, о чем кстати и писалось в сообщении ошибке. Достаточто было бы просто написать первую строчку так: SELECT DATE, MIN(ENDDATE) - 1 EndDate ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2001, 06:49 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3527&tid=1824799]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 255ms |
| total: | 408ms |

| 0 / 0 |
