<< Zum Inhaltsverzeichnis anklicken >> SQL StatementsLink zum Eintrag: sql-statements.htm |
{select ...}
Select [Distinct] * | Felder from Material | Slabs
[Where Condition]
[Group By Felder] [Having Condition]
[Order By Felder Asc | Desc]
Select [distinct] Felder |
* für alle Felder, oder eine Feldliste |
oder sum(Feld), max(Feld), min(Feld), avg(Feld)
From |
Material für Rundstahl, Gitterträger, Einbauteile, Matten, Stahl gebogen, Aussparungen |
Slabs für alle Platteninformationen (Fläche…)
[Where |
Condition] Bedingung für die Daten |
[Group By |
Felder] alle Felder von select, ausgenommen sum(), max(), min(), avg() |
gruppiert die Daten mit gleichen Feldwerten
Select muss eine sum(), max(), min() oder avg() haben
[Having Condition] |
Kondition über die sum(), max(), min() oder avg() Ergebnis |
[Order By Felder Asc | Desc] Sortierung; die Felder müssen im Select sein
Beispiel: Liste jeder Plattenart des Projektes mit Betonfläche:
Select PlattenArt, PlArtName, sum(BetonFl) as Flaeche From Slabs Group By PlattenArt, PlArtName Order By PlattenArt
Kann auch das Ergebnis einer Formel sein:
="{Select Stueck, Durchmess, Bez, Ref, Laenge, Gewicht From Material Where (ElementNr = "&A5&") and (Gruppe='RS') Order by Durchmess, Ref}" |
wobei A5 die Elementnummer beinhaltet. |
Ein Parameter-Feld kann direkt in die Query eingegeben werden :
Beispiel:
Haupt Query: |
{Select Distinct ElementNr From Slabs Order by ElementNr} |
Sub Query: |
{Select Stueck, Gewicht From Material where (ElementNr = :ElementNr)} |
Die Variable ':ElementNr' (Doppelpunkt vor ElementNr) bedeutet „ElementNr von Haupt Query"
Query-Felder können in alle Zeilen eines Query-Bereiches (copy) vorkommen
Beispiel:
{/copy3}
{Select Stueck, Gewicht, Durchmess From Material where (Gruppe='RS')}
und {Stueck} {Gewicht} kann auch in der dritten Copy-Zeile vorkommen.
{transform ...}
TRANSFORM function(Field) select statement PIVOT PivotField
Beispiel:
TRANSFORM SUM(Gewicht)
SELECT ElementNr FROM Material
Where Gruppe = 'GT'
GROUP BY ElementNr
ORDER BY ElementNr
PIVOT Typ
{create table ...}
Beispiel:
{Create Table "MeineTabelle" (Typ Char(20), Stueck integer)}
Besonderheiten im Tabsheet MACRO
• |
Ein Registerblatt mit Namen MACRO wird vor den anderen Registerblätter ausgeführt. |
• |
Nur am Registerblatt MACRO können längere SQL-Statements über mehrere Felder hinweg formuliert werden. Felder die zeilenweise untereinander angeordnet sind werden automatisch zu einer Formel verknüpft. Als Abschluss für die automatische Verknüpfung dient eine Leerzeile. |
Sql Felder
Felder aus Select von sum(), max(), min() oder avg() müssen umkopiert werden:
Beispiel:
{select sum(Gewicht) as SGewicht}
{SGewicht} ist danach der Feldname für sum(Gewicht}