Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi union (https://www.delphipraxis.net/68231-union.html)

peter12 26. Apr 2006 18:38

Datenbank: Firebird • Version: 1.5 • Zugriff über: UID

union
 
Ich suche eine möglichkeit 2 Tabellen zu verbinden
damit ich Sie mit Quickreport ausdrucken kann.
Erste SQL Abfrage dann die zweite SQL Abfrage nacheinander mit detailBand.

peter

mkinzler 26. Apr 2006 18:48

Re: union
 
Wie sehen die beiden Tabellen aus? Ein Union bietet sich nur an, wenn die Struktur der beiden tabellen gleich ist. ich vermute mal du brauchst einen JOIN.

peter12 26. Apr 2006 18:52

Re: union
 
Die Struktur ist gleich und habe es nach datum sortiert.

Habe aber das Problem das die Zweite Tabelle mitsortiert wird
und somit nicht nach der ersten gedruckt wird.

Es soll zuerst die erste Tabelle gedruckt werden
dann die zweite Tablelle
und dann eine Summe aller datensätze.

peter

mkinzler 26. Apr 2006 18:57

Re: union
 
SQL-Code:
select <feldliste1> from <tabelle1> order by <sortkrit1> union
select <feldliste2> from <tabelle2> order by <sortkrit2>

peter12 26. Apr 2006 19:00

Re: union
 
Bei mir kommt eine Fehler

[sql]
select m.text1 , m.text2 ,
m.km,m.MITPER,m.KA,m.datum,art,m.arbeits,m.tagesge melk,
m.kare,m.kmhaus,m.kmlwlw, m.kmprobe,m.diaten,b.DOPPELBETRIEB,m.sperre ,m.sp
from monatsbericht m
left outer join betriebe b on b.LFBIS = m.BETRIEBNR
where jahr =:j and monat = :m and kare = :ka and kontrolldatum is not null
and art <> 19 and art <> 5 and art <> 6
order by datum,melkbegin
union
select m.text1 , m.text2 ,
m.km,m.MITPER,m.KA,m.datum,art,m.arbeits,m.tagesge melk,
m.kare,m.kmhaus,m.kmlwlw, m.kmprobe,m.diaten,b.DOPPELBETRIEB,m.sperre ,m.sp
from monatsbericht m
left outer join betriebe b on b.LFBIS = m.BETRIEBNR
where jahr =:j and monat = :m and art = 6
order by datum,melkbegin


peter

mkinzler 26. Apr 2006 19:03

Re: union
 
Was für ein Fehler?

peter12 26. Apr 2006 19:05

Re: union
 
Ich verwende zum testen IBEXPERT

Die Fehlermeldung heißt

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 9, char 4.
union.


peter

mkinzler 26. Apr 2006 19:07

Re: union
 
Versuch mal die einzelnen selects zu klammern

peter12 26. Apr 2006 19:14

Re: union
 
Beim Klammern kommt auch der Fehler das er die Klammern nicht mag.
Habe folgendes Versucht

select m.datum,m.text1 , m.text2 ,
m.km,m.MITPER,m.KA,art,m.arbeits,m.tagesgemelk,
m.kare,m.kmhaus,m.kmlwlw, m.kmprobe,m.diaten,b.DOPPELBETRIEB,m.sperre ,m.sp
from monatsbericht m
left outer join betriebe b on b.LFBIS = m.BETRIEBNR
where jahr =:j and monat = :m and kare = :ka and kontrolldatum is not null
and art <> 19 and art <> 5 and art <> 6

union
select m.datum,m.text1 , m.text2 ,
m.km,m.MITPER,m.KA,art,m.arbeits,m.tagesgemelk,
m.kare,m.kmhaus,m.kmlwlw, m.kmprobe,m.diaten,b.DOPPELBETRIEB,m.sperre ,m.sp
from monatsbericht m
left outer join betriebe b on b.LFBIS = m.BETRIEBNR
where jahr =:j and monat = :m and art = 6

Ohne order by dafür "m.Datum" als erste Select.

Ergebnis die zwei Abfragen werden in einer Tabelle angezeigt und sortiert nach Datum.

Ich suche aber eine möglichkeit, daß zuerst die erste Abfrage und dann die zweite angehängt wird.


peter

marabu 26. Apr 2006 19:20

Re: union
 
Hallo Peter,

geklammert sieht so aus:

SQL-Code:
(
select m.datum,m.text1, m.text2,
  m.km, m.MITPER, m.KA, art, m.arbeits, m.tagesgemelk,
  m.kare, m.kmhaus, m.kmlwlw, m.kmprobe, m.diaten, b.DOPPELBETRIEB, m.sperre, m.sp
from monatsbericht m
left outer join betriebe b on b.LFBIS = m.BETRIEBNR  
where jahr =:j
and monat = :m
and kare = :ka
and kontrolldatum is not null
and not art in (19, 5, 6)
)
union
(
select m.datum,m.text1, m.text2,
  m.km, m.MITPER, m.KA, art, m.arbeits, m.tagesgemelk,
  m.kare, m.kmhaus, m.kmlwlw, m.kmprobe, m.diaten, b.DOPPELBETRIEB, m.sperre, m.sp
from monatsbericht m
left outer join betriebe b on b.LFBIS = m.BETRIEBNR  
where jahr =:j
and monat = :m
and art = 6
)
Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz