Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
28.11.2001, 16:55
|
|||
|---|---|---|---|
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, 17:16
|
|||
|---|---|---|---|
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, 18:03
|
|||
|---|---|---|---|
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:18
|
|||
|---|---|---|---|
View ругается и не сохраняется! |
|||
|
#18+
Да поспешил я с TOP 100 PERCENT (невнимательно рассмотрел запрос) А как собственно вы создаете View ? Помниться Enterprise Manager-е встроенный дизайнер View как раз и не умел работать с вложенными запросами. Надо было создавать View либо в QA через CREATE VIEW ..., либо в EM создавть View вида SELECT * FROM mytable, сохранять его под нужным именем и потом открывать в режиме Properties, а не Design и править текст запроса на нужный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.11.2001, 18:24
|
|||
|---|---|---|---|
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:25
|
|||
|---|---|---|---|
|
|||
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:27
|
|||
|---|---|---|---|
View ругается и не сохраняется! |
|||
|
#18+
Пишу запрос используя встроенный дизайнер. В нем запрос, как я уже говорил, работает так как задумано, а сохранять View не хочет. Glory, что за аббривиатура QA? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.11.2001, 18:32
|
|||
|---|---|---|---|
View ругается и не сохраняется! |
|||
|
#18+
QA - Query Analyzer Если встроенный дизайнер, тогда точно - запиши произвольный запрос SELECT * FROM mytable во View с нужным именем, а потом в том же EM на нем на правой кнопке выбири Properties и замени текст запроса на нужный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.11.2001, 18:36
|
|||
|---|---|---|---|
View ругается и не сохраняется! |
|||
|
#18+
Glory, огромное спасибо за советы!!! Попробую применить приобретенные знания! :0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.11.2001, 18:37
|
|||
|---|---|---|---|
View ругается и не сохраняется! |
|||
|
#18+
Glory, огромное спасибо за советы!!! Огромное спасибо ВСЕМ!!!! Попробую применить приобретенные знания! :0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.11.2001, 18:38
|
|||
|---|---|---|---|
View ругается и не сохраняется! |
|||
|
#18+
Кстати - IMHO хорошее предложение от Garya, насчет выноса ORDER во внешний запрос - зачем что-то сортировать в подзапросе, ведь его результат пользователь все рано увидит результат работы внешнего запроса (а может быть вам ORDER вобще не нужен ? ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.11.2001, 18:40
|
|||
|---|---|---|---|
View ругается и не сохраняется! |
|||
|
#18+
ORDER BY уберу, он там действительно ни к чему. Но проблема была все-таки не в нем. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.11.2001, 19:13
|
|||
|---|---|---|---|
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, Вам персонально! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.11.2001, 06:49
|
|||
|---|---|---|---|
View ругается и не сохраняется! |
|||
|
#18+
На будующее: проблема была просто в том что для 2-й колонки не было задано имя, о чем кстати и писалось в сообщении ошибке. Достаточто было бы просто написать первую строчку так: SELECT DATE, MIN(ENDDATE) - 1 EndDate ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1824799]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 375ms |

| 0 / 0 |
