Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ругает за что-то / 6 сообщений из 6, страница 1 из 1
25.10.2002, 17:22:26
    #32062030
Wicky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ругает за что-то
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
CREATE VIEW dbo.MYVIEW 
AS 
SELECT
	ТипДилера.НазваниеТипаДилера, 
	Сотрудники.МестоРаботыОфис, 
	Товары.Марка, 
	Товары.ЦенаЗакупкиИсходная, 
	Товары.ЦенаЗакупки, 
	ТоварыДилера.ЦенаПрДол, 
	ТоварыДилера.ЦенаПрРуб, 
	КурсПоДням.[ 1 ], 
	SUM([ПроданоЗаМесяц].[ 1 ] * 
	CASE 
		WHEN [Товары].[ЦенаЗакупкиИсходная] =  0  THEN [Товары].[ЦенаЗакупки] 
		WHEN [Товары].[ЦенаЗакупкиИсходная] <>  0  THEN [Товары].[ЦенаЗакупкиИсходная] * [КурсПоДням].[ 1 ] 
	END) AS ЗСП1ЧК, 

    SUM([ПроданоЗаМесяц].[ 1 ] * 
	CASE 
		WHEN [ТоварыДилера].[ЦенаПрРуб] =  0  THEN [ТоварыДилера].[ЦенаПрДол] * [КурсПоДням].[ 1 ] 
		WHEN [ТоварыДилера].[ЦенаПрРуб] <>  0  THEN [ТоварыДилера].[ЦенаПрРуб] 
	END) AS ПСП1ЧК, 
    [ПСП1ЧК]-[ЗСП1ЧК] AS П1Ч 

FROM 
	КурсПоДням, 
	((ТипДилера 
		INNER JOIN (
				Товары 
					INNER JOIN ТоварыДилера 
					ON Товары.КодТовара = ТоварыДилера.КодТовара) 
		ON ТипДилера.КодТипаДилера = ТоварыДилера.КодТипаДилера) 
			INNER JOIN (
				Сотрудники 
					INNER JOIN ПолученоПередано 
					ON (Сотрудники.КодСотрудника = ПолученоПередано.КодПоставщика) AND 
					      (Сотрудники.КодТипаДилера = ПолученоПередано.ТипДилераУчЛиста)) 
			ON ТипДилера.КодТипаДилера = Сотрудники.КодТипаДилера) 
					INNER JOIN ПроданоЗаМесяц 
					ON (Товары.КодТовара = ПроданоЗаМесяц.КодТовара) AND 
					      (ПолученоПередано.КодПолученоПередано = ПроданоЗаМесяц.НомерУниверсальногоЛиста) 

GROUP BY 
	ТипДилера.НазваниеТипаДилера, 
	Сотрудники.МестоРаботыОфис, 
	Товары.Марка, 
	Товары.ЦенаЗакупкиИсходная, 
	Товары.ЦенаЗакупки, 
	ТоварыДилера.ЦенаПрДол, 
	ТоварыДилера.ЦенаПрРуб, 
	[КурсПоДням].[ 1 ], 
	ТипДилера.НазваниеТипаДилера 

HAVING (((Сотрудники.МестоРаботыОфис) not like 'ЦС' And (Сотрудники.МестоРаботыОфис) not like 'Поставщики ПК'))

Пишет:
Invalid Column name "ПСПЗМК"
Invalid Column name "ЗСПЗМК"
...
Рейтинг: 0 / 0
25.10.2002, 17:40:10
    #32062034
akuz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ругает за что-то
Проверьте все View используемые в запросе.
...
Рейтинг: 0 / 0
25.10.2002, 18:23:55
    #32062057
VVG_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ругает за что-то
И должна ругать. Алиасы, используемые в select части не могут использоваться обльше нигде.

Можно пропробовать конструкцию

Код: plaintext
1.
select [ПСП1ЧК],[ЗСП1ЧК],[ПСП1ЧК]-[ЗСП1ЧК] from 
(<Ваш селект без третьего столбца>) as something
...
Рейтинг: 0 / 0
25.10.2002, 19:07:38
    #32062068
Wicky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ругает за что-то
то есть необходимо сделать еще один view что ли, и и з него уже обратившись к этому view, измываться над полями-алиасами? некрасиво как то...
...
Рейтинг: 0 / 0
25.10.2002, 19:15:01
    #32062069
VVG_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ругает за что-то
Можно и через промежуточный view, можно и через подзапрос - это как душа захочет. Я как-то сделал пять вложенных вьюх с расчетами, работало очень шустренько. Но подзапрос IMHO поэлегантнее.
...
Рейтинг: 0 / 0
25.10.2002, 19:37:02
    #32062073
Wicky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ругает за что-то
ок, спасибо - буду пробовать :)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ругает за что-то / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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