Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Не работает конструкция SELECT * (число прочтений - 2689 )
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Не работает конструкция SELECT *
07. Декабря 2006 :: 14:14
Печать  
При запросе к DBF не работает конструкция SELECT * FROM ("выборка")
например такая элементарная.
|SELECT *
|FROM (
|SELECT
|      Спр.Code as Код,
|      Спр.Descr as Наименование
|FROM
|      $Справочник.Авто as Спр
|)";
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Не работает конструкция SELECT *
Ответ #1 - 07. Декабря 2006 :: 17:14
Печать  
Если речь идет про oledb (vfpoledb v9), то добавь для производной таблицы алиас
Код
Выбрать все
SELECT * FROM (...) as T
 


Если про odbc driver фокса, то помнится, что вложенные запросы он не позволяет делать.
  
Наверх
ICQ  
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: Не работает конструкция SELECT *
Ответ #2 - 08. Декабря 2006 :: 06:25
Печать  
Спасибо
А какое поле указывать в группировке? На GROUP BY D.Автомобиль ругается, что нет такой колонки.
ТекстЗапроса = "
|SELECT *
|FROM
|(
|SELECT
|      $Рег.Авто as [Автомобиль $Справочник.Авто],
|      SUM($Рег.Пробег) as СуммаРегПробег,
|      SUM($Рег.Запр) as СуммаРегЗапр,
|      SUM($Рег.СтоимостьБензина) as СуммаРегСтоимостьБензина,
|      SUM($Рег.КоличествоМаршрутов) as СуммаРегКоличествоМаршрутов,
|      SUM($Рег.РасхФакт) as СуммаРегРасхФакт,
|      0 as СуммаРемСтоимость,
|      0 as СуммаРемПростой
|FROM
|      $Регистр.Тр as Рег,
|   1sjourn as Жур
|WHERE
|   (Жур.IdDoc =Рег.IdDoc)
|AND
|   (Жур.DATE BETWEEN :ВыбДата~~ AND :ВыбДатаКон~~)
|GROUP BY $Рег.Авто 
|
|
|UNION ALL
|
|SELECT
|      $РегР.Авто as [Автомобиль $Справочник.Авто],
|      0 as СуммаРегПробег,
|      0 as СуммаРегЗапр,
|      0 as СуммаРегСтоимостьБензина,
|      0 as СуммаРегКоличествоМаршрутов,
|      0 as СуммаРегРасхФакт,
|      SUM($РегР.Стоимость) as СуммаРемСтоимость,
|      SUM($РегР.Простой) as СуммаРемПростой
|FROM
|      $Регистр.Ремонт as РегР,
|   1sjourn as Жур
|WHERE
|   (Жур.IdDoc =РегР.IdDoc)
|AND
|   (Жур.DATE BETWEEN :ВыбДата~~ AND :ВыбДатаКон~~)
|GROUP BY $РегР.Авто 
|) as D
|GROUP BY D.Автомобиль
|";
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Не работает конструкция SELECT *
Ответ #3 - 08. Декабря 2006 :: 07:04
Печать  
Типизацию нужно вынести наружу.
Поле уже по другому называется. Метапарсер его переименовал.
  
Наверх
ICQ  
IP записан
 
RuporAbsurda
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 413
Зарегистрирован: 29. Июня 2006
Re: Не работает конструкция SELECT *
Ответ #4 - 08. Декабря 2006 :: 07:44
Печать  
А как посмотреть какие поля создаються?
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Не работает конструкция SELECT *
Ответ #5 - 08. Декабря 2006 :: 08:41
Печать  
Отладка(1)
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать