Poslední příspěvky

Stran: 1 ... 8 9 [10]
91
Firebird a Interbase / Re:View - nemôže obsahovať výraz *1E0
« Poslední příspěvek od Stanislav Hruška kdy 05-06-2017, 09:01:18 »

Citace
A dál máš blbě tu sumu, už jsem tě na to upozorňoval ve vedlejším vlákně.
Ja tam nič zlé nevidím. Nechytám sa :(
Takže dávam minimum:
Kód: [Vybrat]
SELECT SUM(INVOICEINCOMINGITEMS.NUMBER) * SERVICEPARAMETERS.PERCENT1 * 1E0/ 100 AS NUMBER1
FROM
  INVOICEINCOMINGITEMS
  RIGHT OUTER JOIN SERVICEPARAMETERS ON (INVOICEINCOMINGITEMS.FKSERVICEPARAMETERS = SERVICEPARAMETERS.IDSERVICEPARAMETERS)
  INNER JOIN SERVICES ON (SERVICEPARAMETERS.FKSERVICES = SERVICES.IDSERVICES)
WHERE
  SERVICES.FKFOCS = 1776 AND SERVICEPARAMETERS.PERIOD = 2016 AND SERVICEPARAMETERS.FKCATEGORY = 2 AND
  INVOICEINCOMINGITEMS.ISCOST = 1 AND INVOICEINCOMINGITEMS.DATEFROM BETWEEN '1.1.2016' AND '31.12.2016'
GROUP BY SERVICEPARAMETERS.PERCENT1
Zbehne bez problémov. Tak to mám aj v Delphi a nie je problém. Vygenerovaný pohľad
Kód: [Vybrat]
CREATE VIEW NEW_VIEW (
    NUMBER1)
AS
SELECT
  SUM(INVOICEINCOMINGITEMS.NUMBER) * SERVICEPARAMETERS.PERCENT1 * 1E0/ 100 AS NUMBER1
FROM
  INVOICEINCOMINGITEMS
  RIGHT OUTER JOIN SERVICEPARAMETERS ON (INVOICEINCOMINGITEMS.FKSERVICEPARAMETERS =
    SERVICEPARAMETERS.IDSERVICEPARAMETERS)
  INNER JOIN SERVICES ON (SERVICEPARAMETERS.FKSERVICES = SERVICES.IDSERVICES)
WHERE
  SERVICES.FKFOCS = 1776 AND SERVICEPARAMETERS.PERIOD = 2016 AND SERVICEPARAMETERS.FKCATEGORY = 2 AND
  INVOICEINCOMINGITEMS.ISCOST = 1 AND INVOICEINCOMINGITEMS.DATEFROM BETWEEN '1.1.2016' AND '31.12.2016'
GROUP BY SERVICEPARAMETERS.PERCENT1;
a chyba
Kód: [Vybrat]
There is an error in entry field "View body"Ako som písal, bez toho *1E0 to ide. Mám to kvôli tomu, že v prípade ak súčin súčtu a poľa bude menší ako 100, tak výsledok dostanem nulu.
Viď 10/3 = 0, ale 10*1E0/3 = 0,3...
92
Firebird a Interbase / Re:View - nemôže obsahovať výraz *1E0
« Poslední příspěvek od pepak kdy 05-06-2017, 08:29:44 »
Každopádně mě následující dotaz v pohodě funguje i v pohledu:
Kód: SQL [Vybrat]
  1. CREATE VIEW xxx (cislo)
  2. AS
  3. SELECT SUM(nejake_pole)*1e0/100
  4. FROM nejaka_tabulka
  5. GROUP BY jine_pole
Takže pokud budeš mít problémy i poté, co předěláš tu sumu, tak napiš celý SELECT a celou definici VIEW, jak jsem tě výše žádal. Bez toho není možný jiný závěr, než že jsi to napsal blbě.
93
Firebird a Interbase / Re:View - nemôže obsahovať výraz *1E0
« Poslední příspěvek od pepak kdy 05-06-2017, 08:25:56 »
A dál máš blbě tu sumu, už jsem tě na to upozorňoval ve vedlejším vlákně.
94
Firebird a Interbase / Re:View - nemôže obsahovať výraz *1E0
« Poslední příspěvek od pepak kdy 05-06-2017, 08:25:04 »
Pro začátek by bylo nejjednodušší se toho 1e0 úplně zbavit, protože to je jen jinak vyjádřená jednička a násobení jedničkou je mnohdy zbytečné.
95
Firebird a Interbase / Re:View - nemôže obsahovať výraz *1E0
« Poslední příspěvek od Stanislav Hruška kdy 05-06-2017, 08:09:29 »

Citace
Uveď celý SELECT a celou definici VIEW. Podle mě zjistíš, že máš ve VIEW jiný počet polí než kolik vrací SELECT.
To som si niekoľkokrát s nervami preveril :)  Doslova stačilo vyhodiť všetky výskyty daného člen a išlo to. Na ukážku jedno počítané pole:
Kód: [Vybrat]
SUM(INVOICEINCOMINGITEMS.NUMBER) * SERVICEPARAMETERS.PERCENT1*1E0 / 100 NUMBER1,Mňa zarážala už skutočnosť, že keď som so SELECT-u dal v EMS SQL Manger-i generovať pohľad, tak vytvoril telo pohľadu a vždy vyhodil chybu. A stále na nej trval. Aj keď som pohľad vytváral ručne.
Preto neviem či je chyba v manažéri, alebo je to vlastnosť FB.
96
Firebird a Interbase / Re:View - nemôže obsahovať výraz *1E0
« Poslední příspěvek od pepak kdy 05-06-2017, 07:49:25 »
Uveď celý SELECT a celou definici VIEW. Podle mě zjistíš, že máš ve VIEW jiný počet polí než kolik vrací SELECT.
97
Firebird a Interbase / View - nemôže obsahovať výraz *1E0
« Poslední příspěvek od Stanislav Hruška kdy 04-06-2017, 22:29:28 »
V SELECT-e to zbehne a po vytvorení view to padne na chybu v zozname výstupných polí. V praxi to priamo nepotrebujem, ale pri experimentovaní/hľadaní chyby to so mnou poriadne zacvičilo.
98
Aha. Ďakujem.
99
Firebird a Interbase / Re:Prečo musí byť člen násobenia/delenia a pod. v GROUP BY
« Poslední příspěvek od pepak kdy 03-06-2017, 15:45:57 »
A ze kterého konkrétního řádku by jsi vzal to Field2?
100
Obecné / Lazarus - zip,rar komponenta
« Poslední příspěvek od Maty123 kdy 03-06-2017, 07:30:39 »
Zdar.
Hledam nějakou komponentu co umí zip nebo rar.
Nějake jsem našel ale nikde jsem se u ních nedočet zda zvlane i zaheslovane souboy.
Doporučte nejakou.
Stran: 1 ... 8 9 [10]