#7 Kit
jsou to dva jeden vytvoří tabulku ze selectem a druhy mi z ní vypíše hodnoty
CREATE or Replace view `view_platby_karty`
as select
DATE_FORMAT(s.closed,"%d.%m.%Y") datum, sum(case when s.storno=1 then 0 else CelkovaCena end) as trzba_celkem,
SUM(case when s.storno=1 then 0 ELSE s.CelkovaCena/(100+s.SAZBA)*100 END) as zaklad_DPH,
SUM(CASE WHEN COALESCE(s.SAZBA,0)=0 THEN s.CelkovaCena/((100+s.SAZBA)/100) ELSE 0 END )as bez_DPH,
SUM(CASE WHEN s.SAZBA=21 THEN (s.CelkovaCena/1.21)*(s.SAZBA/100) ELSE 0 END )as dph21, SUM(CASE WHEN s.SAZBA=15
THEN (s.CelkovaCena/1.15)*(s.SAZBA/100) ELSE 0 END )as dph15, SUM(CASE WHEN s.SAZBA=10 THEN (s.CelkovaCena/1.10)*(s.SAZBA/100)
ELSE 0 END )as dph10, SUM(CASE WHEN s.SAZBA=21 THEN s.CelkovaCena-(s.CelkovaCena/1.21)*(s.SAZBA/100) ELSE 0 END )as zaklad_dph21,
SUM(CASE WHEN s.SAZBA=15 THEN s.CelkovaCena-(s.CelkovaCena/1.15)*(s.SAZBA/100) ELSE 0 END )as zaklad_dph15,
SUM(CASE WHEN s.SAZBA=10 THEN s.CelkovaCena-(s.CelkovaCena/1.10)*(s.SAZBA/100) ELSE 0 END )as zaklad_dph10
from platby P inner join p_polozky s where p.id_ucty= s.id_ucty
and p.druh_platby_id = '6'
and s.closed<>"0000-00-00%" AND s.storno<>1 AND DATE_FORMAT(s.closed,"%Y-%m-%d %H:%i") BETWEEN '2018-01-01' AND '2018-12-12'
GROUP BY YEAR(s.closed), MONTH(s.closed),DAY(s.closed),s.id_ucty ;
píšu to jako
adoQuery2.SQL.text :='CREATE or Replace view `view_trzba_karty`';
adoQuery2.SQL.text := adoQuery2.SQL.text + ' as select';
atd.
----------------
Teď dalším selectem dělám už sumy u DPH a vypíšu
napsal bych to pod další button
zde bych potom doplnil
Var
i: integer;
strT: string;
slst: TStringList;
adoQuery1.SQL.Clear;
adoQuery1.SQL.Add('select....
.slst:= TStringList.Create;
Try
With DBGrid1.DataSource.DataSet Do
begin
First;
while not Eof do
begin
strT:= ';'+Fields[0].AsString+';';
for i:= 1 to FieldCount-1 do
strT:= strT+';'+Fields[i].AsString+';';
slst.Add(strT);
Next;
end;
First;
end;
slst.SaveToFile('C:\data\test.xls');
Finally
slst.Free;
End;
ale i když nechám ten první script pod jedním buttonem tak mě to nevytvoří tabulku a i když ten script by měl být správný