|
v7: Прямые вложенные запросы | ☑ | ||
---|---|---|---|---|
0
BolshoySmal
30.09.16
✎
12:31
|
Добрый день всем. Только изучаю тему. Наступил на грабли. Прошу помощи.
вот такой запрос работает ТекстЗапроса = " |SELECT |* |FROM |( |SELECT | Рег.Номенклатура as [Номенклатура $Справочник.Номенклатура], | Рег.Партия as [Партия $Справочник.Партии], | Рег.СуммаБезНДСРасход as СуммаБезНДСРасход, | Рег.СуммаУпрРасход as СуммаУпрРасход, | Рег.Период Период |FROM | $РегистрОстаткиОбороты.ПартииНАличие(:НачДата, :КонДата~, Месяц,,, | (МОЛ = :ВыбМол), | (Номенклатура,Партия), (СуммаУпр,СуммаБезНДС)) as Рег |WHERE | Рег.СуммаУпрРасход>0 |UNION ALL |SELECT | Рег.Номенклатура as [Номенклатура $Справочник.Номенклатура], | Рег.Партия as [Партия $Справочник.Партии], | -1*Рег.СуммаБезНДСПриход as СуммаБезНДСПриход, | -1*Рег.СуммаУпрПриход as СуммаУпрРасход, | Рег.Период Период |FROM | $РегистрОстаткиОбороты.ПартииНАличие(:НачДата, :КонДата~, Месяц,,, | (МОЛ IN (SELECT Val FROM #Группа)), | (Номенклатура,Партия), (СуммаУпр,СуммаБезНДС)) as Рег |WHERE | Рег.СуммаУпрПриход>0 ) As Test1;"; А если вместо звездочки указать например вот так ТекстЗапроса = " |SELECT |Test1.Номенклатура |FROM |( |SELECT | Рег.Номенклатура as [Номенклатура $Справочник.Номенклатура], | Рег.Партия as [Партия $Справочник.Партии], | Рег.СуммаБезНДСРасход as СуммаБезНДСРасход, | Рег.СуммаУпрРасход as СуммаУпрРасход, | Рег.Период Период |FROM | $РегистрОстаткиОбороты.ПартииНАличие(:НачДата, :КонДата~, Месяц,,, | (МОЛ = :ВыбМол), | (Номенклатура,Партия), (СуммаУпр,СуммаБезНДС)) as Рег |WHERE | Рег.СуммаУпрРасход>0 |UNION ALL |SELECT | Рег.Номенклатура as [Номенклатура $Справочник.Номенклатура], | Рег.Партия as [Партия $Справочник.Партии], | -1*Рег.СуммаБезНДСПриход as СуммаБезНДСПриход, | -1*Рег.СуммаУпрПриход as СуммаУпрРасход, | Рег.Период Период |FROM | $РегистрОстаткиОбороты.ПартииНАличие(:НачДата, :КонДата~, Месяц,,, | (МОЛ IN (SELECT Val FROM #Группа)), | (Номенклатура,Партия), (СуммаУпр,СуммаБезНДС)) as Рег |WHERE | Рег.СуммаУпрПриход>0 ) As Test1;"; То выдаёт вот такую ошибку : State 42S22, native 207, message [Microsoft][ODBC SQL Server Driver][SQL Server]Недопустимое имя столбца "Номенклатура". как посмотреть имен а столбцов результирующей таблицы ? |
|||
1
Ёпрст
30.09.16
✎
12:38
|
(0)выкини нахрен типизацию из вложенного запроса, и больше так не делай.
|
|||
2
Ёпрст
30.09.16
✎
12:39
|
+1
|SELECT |Test1.Номенклатура [Номенклатура $Справочник.Номенклатура] |FROM |( | SELECT | Рег.Номенклатура as Номенклатура, |
|||
3
BolshoySmal
30.09.16
✎
13:13
|
Огромный респект !!
|
|||
4
varelchik
30.09.16
✎
13:47
|
(3) Так это всем известно и никому не интересно!
|
|||
5
Это_mike
30.09.16
✎
13:49
|
(4) и уже мало кому нужно...
вон, Злоп уже на снеговике первую поделку налабал... |
|||
6
BolshoySmal
03.10.16
✎
14:37
|
А что такое снеговик ?
|
|||
7
Это_mike
03.10.16
✎
14:41
|
(6) восьмерка...
|
|||
8
BolshoySmal
03.10.16
✎
14:45
|
на восьмерке внутренний конструктор очень приличный и использование прямых запросов вообще не поощряется :).
|
|||
9
Это_mike
03.10.16
✎
14:46
|
(8) на семерке тоже есть нормальный конструктор прямых запросов.
собственно, нормальные запросы там только те, которые прямые. все остальные - кривые :-) |
|||
10
BolshoySmal
03.10.16
✎
14:50
|
не совсем согласен, так как выполнение их на клиент-сервере работает вполне прилично.
|
|||
11
Это_mike
03.10.16
✎
14:51
|
(10) не понял, кто на ком прилично работает, но "чОрные запросы" я на клюшках так и не осилил...
|
|||
12
BolshoySmal
03.10.16
✎
15:29
|
клиент сервер на MSSQL.
|
|||
13
orefkov
03.10.16
✎
15:30
|
(11)
Мне, как уже знакомому с скл, они нанесли вывих мозга. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |