|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
Есть такой алгоритм: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8.
На Firebird выполняется внутренная часть и правильно возврашает результат: Код: sql 1. 2. 3. 4. 5.
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
но как связывать эту часть запроса, Код: sql 1. 2. 3. 4.
если таблица VatPayable, где записано моя фирма платит или нет ндс (VatPayable=0 or =1), не связан с таблицами Income и Partn? И второй вопрос: тот-же самый запрос выдаёт ошибку на Interbase 2009: Column Unknown если в group by написан Summa,Vat, а если без ных, тогда- Invalid column reference. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 19:58 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
Delphi159, Сколько записей в таблице VatPayable? Вместо summa,vat попробуй 6,7 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 21:00 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
Dmitry KurbskyDelphi159, Сколько записей в таблице VatPayable? в таблице VatPayable только 1 запись- моя фирма является или нет ндс-плательщиком(VatPayable=0 or VatPayable=1). Dmitry KurbskyDelphi159, Вместо summa,vat попробуй 6,7 ? в Interbase 2009 где написано Price*18/118 ругается: expression evaluation not supported. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2016, 23:55 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
[quot Delphi159]в таблице VatPayable только 1 запись- моя фирма является или нет ндс-плательщиком(VatPayable=0 or VatPayable=1). Код: sql 1. 2. 3.
? Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 09:15 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
автор Dmitry Kurbsky Код: sql 1. 2. 3.
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Column unknown:summa,Vat автор Dmitry Kurbsky Код: sql 1.
Token unknown - 6 А если так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
А если без summa, vat тогда ругается на fsl2*18/118: expression evaluation not supported ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 11:45 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
Delphi159fsl2 Так это поле, небось, текстовое... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 11:50 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovDelphi159fsl2 Так это поле, небось, текстовое... должен быть price*18/118 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 12:50 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
В Firebird 2.5 решил так и правильно работает: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
А в Interbase 2009-никак! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 12:59 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
group by Goods_id, Income_id, Qty, Price, vatpayer, summa, vat ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 13:00 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
Delphi159, в твоём случае проще выкинуть group by и решить задачу через distinct ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 13:17 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
Симонов ДенисDelphi159, в твоём случае проще выкинуть group by и решить задачу через distinct В Firebird-е этим ничего не меняется- одинаково работает и с group by и с distinct-ом,хотя сейчас обратил внимание что записи с одним Goods_id несколько(!) , а в Interbase 2009 всё тоже самое: expression evaluation not supported! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 13:39 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 13:44 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
Delphi159, а с чего решил что IB умеет группировку по выражению? Не пытайся сделать то что не работает. В Firebird язык SQL намного богаче, поэтому если хочешь чтобы работало сразу в обоих СУБД пиши запросы как можно проще. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 13:50 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
Симонов ДенисDelphi159, а с чего решил что IB умеет группировку по выражению? Не пытайся сделать то что не работает. В Firebird язык SQL намного богаче, поэтому если хочешь чтобы работало сразу в обоих СУБД пиши запросы как можно проще. Симонов Денис как можно обойти проблему, чтобы работал и в IB 2009? Как посчитать ндс из бд кроме выражения? Не хочу создавать поле ндс-а в бд. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 14:22 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
Не хочешь создавать поле - создай view. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 16:50 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovНе хочешь создавать поле - создай view. Dimitry Sibiryakov ,как? что изменится если IB не умеет группировать по выражению? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 17:33 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
Delphi159как можно обойти проблему, чтобы работал и в IB 2009? у InterBase синтаксис SQL гораздо слабее, чем в Firebird. Так что "одним запросом" получится еще меньше, чем в FB. В FB можно было бы и не одним запросом, в рамках Execute Block, которого в IB нет. Я не знаю, зачем вам делать такую совместимость. Во времена IB 6 и FB 1 это еще можно было достаточно легко обеспечить. Нынче, делать совместимость с IB в ущерб возможностям FB - зачем? Впрочем, если исходить из наименьшего общего делителя, пишите запросы под ИБ, в ФБ они будут работать на 99% (если только это не "кривой" синтаксис, до сих пор поддерживаемый ИБ). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 17:34 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
kdvDelphi159как можно обойти проблему, чтобы работал и в IB 2009? Я не знаю, зачем вам делать такую совместимость. Просто пока бд на сервере IB 2009. Постепенно перехожу на Firebird 3 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 18:10 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
Delphi159что изменится если IB не умеет группировать по выражению? "Не думай - делай!" (с) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 18:45 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Error: expression evaluation not supported! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 20:48 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
Но если вместо выражения Price*18/118 напишуб например, цифру тогда уже view создаётся. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 20:53 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
Delphi159Error: expression evaluation not supported! да боже ж ты мой. какого типа у тебя Price? Должно быть что-то вроде numeric(18,2) или numeric(18,4). А у тебя небось это varchar. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 21:11 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
Что, прямо так и создаёшь, с параметром и group by?.. Ню-ню... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 21:13 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
kdvDelphi159Error: expression evaluation not supported! да боже ж ты мой. какого типа у тебя Price? Должно быть что-то вроде numeric(18,2) или numeric(18,4). А у тебя небось это varchar. Price имеет тип float. Dimitry SibiryakovЧто, прямо так и создаёшь, с параметром и group by?.. Ню-ню... извиняюсь, конечно без параметра и без group by: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 21:53 |
|
помогите написать запрос на Firebird, Interbase 2009
|
|||
---|---|---|---|
#18+
Delphi159Price имеет тип float. святый боже. http://www.ibase.ru/round/ я попробовал воспроизвести вот так Код: sql 1. 2. 3. 4. 5.
работает, но salary тут numeric(10,2). Если переписываем на Код: sql 1.
выдает то самое expression evaluation not supported. если обрамляем еще раз - работает. Код: sql 1.
почему вдруг float нельзя перемножать, не понял. Попробовал обрамить весь case в cast, тоже не помогло. При этом Код: sql 1.
работает без проблем. короче, пиши cast(Price as numeric(18,2))*18/118 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2016, 22:53 |
|
|
start [/forum/topic.php?fid=40&msg=39327455&tid=1561918]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 271ms |
total: | 425ms |
0 / 0 |