Merge and aggregate datasets: Difference between revisions
Harbour: use VALUES for all INSERT statements
(Harbour: minor fix for multiple values) |
(Harbour: use VALUES for all INSERT statements) |
||
Line 800:
<syntaxhighlight lang="xbase">
&& SQL-like INSERT command (note the variable number of arguments)
#xcommand INSERT INTO <table> ( <uField1>[, <uFieldN> ] ) VALUE ( <uVal1>[, <uValN> ] ) => ;▼
#xcommand INSERT INTO <table> ( <uFieldList,...> ) VALUES ( <uValList1,...> ) [, ( <uValListN,...> )] => ;
INSERT INTO <table> ( <uFieldList> ) VALUE ( <uValList1> ) ;
[; INSERT INTO <table> ( <uFieldList> ) VALUE ( <uValListN> )]
&& Singular cases (so we can use VALUES for all instances)
▲#xcommand INSERT INTO <table> ( <uField1>[, <uFieldN> ] ) VALUE ( <uVal1>[, <uValN> ] ) => ;
#xcommand INSERT INTO <table> (<uField>) VALUE (<uVal>) => ;
▲ <table>->(dbAppend()); <table>-><uField1> := <uVal1> [; <table>-><uFieldN> := <uValN> ]
<table>->(dbAppend()); <table>-><uField> := <uVal>
#xcommand INSERT INTO <table> ( <uFieldList,...> ) VALUES ( <uValList,...> ) => ;
INSERT INTO <table> ( <uFieldList> ) VALUE ( <uValList> )
PROCEDURE Main()
Line 821 ⟶ 827:
vStruct := {{"patient_id", "n", 8, 0}, {"visit_date", "d", 10, 0}, {"score", "n", 8, 1}}
dbCreate( "visit", vStruct,, .T., "visit" )
INSERT INTO visit (patient_id, visit_date, score)
INSERT INTO visit (patient_id, visit_date, score)
INSERT INTO visit (patient_id, visit_date, score)
INSERT INTO visit (patient_id, visit_date)
INSERT INTO visit (patient_id, score)
INSERT INTO visit (patient_id, visit_date)
INSERT INTO visit (patient_id, visit_date, score)
INSERT INTO visit (patient_id, visit_date, score)
INDEX ON patient_id TO visit_id
Line 842 ⟶ 848:
aAgg := {0, 0.0, ctod("19000101")} && initial values
DO WHILE ! Eof() .AND. xCurId == patient_id
ENDDO
INSERT INTO report (patient_id, n, sum_score, avg_score, max_date) ;
ENDDO
|