|
Запрос к внешним источникам данных | ☑ | ||
---|---|---|---|---|
0
woha
15.07.15
✎
08:08
|
Доброго дня!
Помогите пожалуйста с запросом: ВнешниеИсточникиДанных.Exchange_mySQL.УстановитьОбщиеПараметрыСоединения(ПараметрыСоединения); ВнешниеИсточникиДанных.Exchange_mySQL.УстановитьСоединение(); Запрос = Новый Запрос("ВЫБРАТЬ | reciept.Id КАК Чек, | reciept.Date КАК Дата, | reciept_goods.GoodId, | reciept_goods.Quantity КАК Quantity, | 0 КАК QuantityV |ИЗ | ВнешнийИсточникДанных.Exchange_mySQL.Таблица.reciept КАК reciept | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.Exchange_mySQL.Таблица.reciept_goods КАК reciept_goods | ПО reciept.Id = reciept_goods.RecieptId | И reciept.ShopID = reciept_goods.ShopId |ГДЕ | reciept.sales <> 1 | И reciept.fiscal = 1 | И reciept.Date МЕЖДУ &НачДата И &КонДата | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | reciept.Id, | reciept.Date, | reciept_goods.GoodId, | 0, | reciept_goods.Quantity |ИЗ | ВнешнийИсточникДанных.Exchange_mySQL.Таблица.reciept КАК reciept | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.Exchange_mySQL.Таблица.reciept_goods КАК reciept_goods | ПО reciept.Id = reciept_goods.RecieptId | И reciept.ShopID = reciept_goods.ShopId |ГДЕ | reciept.sales = 1 | И reciept.fiscal = 1 | И reciept.Date МЕЖДУ &НачДата И &КонДата | |УПОРЯДОЧИТЬ ПО | Чек, | Дата"); Возвращает ошибку: Ошибка ODBC. SQLSTATE: 42000 Номер ошибки: 1064 Описание: [MySQL][ODBC 3.51 Driver][mysqld-5.5.38-0ubuntu0.14.04.1]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SQL_NUMERIC)}, 3)} FROM ({oj reciept T1 INNER JOIN reciept_goods T2 ON ((T1.Id' at line 6 Если выполняю только кусок запроса (без объединения) то все нормально, возвращает данные. Спасибо. |
|||
1
Галахад
гуру
15.07.15
✎
08:30
|
Ну убери объединение.
Выбор reciept.sales <> 1 Тогда reciept_goods.Quantity Иначе 0 КАК Quantity, Выбор reciept.sales = 1 Тогда reciept_goods.Quantity Иначе 0 КАК QuantityV |
|||
2
woha
15.07.15
✎
08:42
|
Спасибо! Помогло.
Правда, когда пробую группировать: | СУММА(ВЫБОР | КОГДА reciept.sales <> 1 | ТОГДА reciept_goods.Quantity | ИНАЧЕ 0 | КОНЕЦ) КАК Quantity, | СУММА(ВЫБОР | КОГДА reciept.sales = 1 | ТОГДА reciept_goods.Quantity | ИНАЧЕ 0 | КОНЕЦ) КАК QuantityV, то получаю: ошибка при выполнении запроса по причине: Ошибка ODBC. SQLSTATE: 42000 Номер ошибки: 1064 Описание: [MySQL][ODBC 3.51 Driver][mysqld-5.5.38-0ubuntu0.14.04.1]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SQL_NUMERIC)}, 8)}, {fn ROUND({fn CONVERT(SUM(CASE WHEN (T1.sales = 1) THEN T2.Q' at line 5 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |