Autor Thema: Inhalte zweier Spalten in einer ausgeben (nicht Inhalte verknüpfen)  (Gelesen 2982 mal)

DanielT

  • Jr. Member
  • **
  • Beiträge: 41
Hallo,

ich habe folgendes Problem.
Ich habe eine Tabelle A und eine Tabelle B.
In Tabelle A habe ich alle Wasserzähler (die WZ-Nummer ist wichtig).
In Tabelle B habe ich eine Untermenge an Wasserzählern (mit WZ-Nummer) aus Tabelle A und evtl. dazu gehörenden Unterzählern welche wiederum eine eigene WZ-Nummer haben.
Ich möchte nun, wenn ich das Objekt Wasserzähler aus Tabelle A in meinen Report ziehe alle Wasserzähler inkl. Unterzähler haben.
Wenn ich das folgende Select in das Objekt Wasserzähler der Tabelle A eintrage bringt er mir natürlich den Fehler das mehr Objekte im Select angefordert werden als im Report als Objekte zur Verfügung stehen.....

GWA_ZAEHLERBEWEGUNG.ZAEHLERNUMMER,    (Tabelle A)
GWA_ZAEHLER.ASSOCIATE_HZ                        (Tabelle B)
FROM GWA_ZAEHLERBEWEGUNG LEFT OUTER JOIN GWA_ZAEHLER ON (GWA_ZAEHLERBEWEGUNG.ZAEHLERNUMMER=GWA_ZAEHLER.ZAEHLERNR)

Ich habe da sicher nur einen Denkfehler drin....
Wenn mich mal jemand in die richtige Richtung schubsen könnte......

Danke schonmal

Daniel



Hornhues

  • Administrator
  • Experte
  • *****
  • Beiträge: 432
Hallo,

Hast du beide Tabellen ins Universum eingebunden und richtig verknüpft?
Der Join gehört nämlich nicht in den Select-Teil eines Objektes, der wird als Beziehung zwischen den Tabellen festgelegt und dann automatisch in die Abfrage eingebaut, wenn du Elemente aus beiden Tabellen benutzt.

Mir ist auch noch nicht ganz klar, was du erreichen möchtest. Wenn ich dich richtig verstanden habe hast du 2 Möglichkeiten:

Möglichkeit 1: Zwei Objekte, die du dann beide in deinen Report ziehst.
Möglichkeit 2: Ein Objekt, dass eine Verkettung von Haupt-WZ und Unter-WZ enthält.

Gruß
Michael

Michael Hornhues

Windhoff Software Services GmbH
Am Campus 17
48712 Gescher


Tel.: +49 (0) 25 42 / 95 59 55
Fax: +49 (0) 25 42 / 95 59 20

DanielT

  • Jr. Member
  • **
  • Beiträge: 41
Hallo,
Danke für die schnelle Antwort.
Ja, die Tabellen sind korrekt verknüpft.
Ziehe ich die Objekte Wasserzähler aus Tabelle A und Unterzähler aus Tabelle B in einen Report, so zeigt er mir korrekt alle Wasserzähler aus Tabelle A an und bei den Wasserzählern die einen Unterzähler haben steht in der zweiten Spalte der entsprechende Unterzähler.

Ich möchte nun aber Haupt und Unterzähler in einer Spalte stehen haben, also als ein Objekt.

Hoffe ich habe es jetzt etwas besser erklärt.....

Daniel

Hornhues

  • Administrator
  • Experte
  • *****
  • Beiträge: 432
Hallo,

erstelle ein neues Objekt, im Select-Teil verwendest du den Assistenten, suchst dann unter "Klassen und Objekte" dein Haupt-WZ-Objekt und Unter-WZ-Objekt, holst sie dir per Doppelklick in dein Select-Bereich (die werden als @Select-Objekte eingefügt) und konkatenierst sie. (Alternativ kannst du auch direkt die DB-Objekte verwenden)

Wie das genau geht, hängt davon ab, welche Datenbank du verwendest, und welchen Datentyp die WZ-Nummern haben. (Zeichenfolgen oder Nummern).
Bräuchte also mehr Infos.

Gruß
Michael
Michael Hornhues

Windhoff Software Services GmbH
Am Campus 17
48712 Gescher


Tel.: +49 (0) 25 42 / 95 59 55
Fax: +49 (0) 25 42 / 95 59 20

DanielT

  • Jr. Member
  • **
  • Beiträge: 41
Hallo,
danke für die schnelle Antwort...

Der Datentyp ist "Zeichen".
Die DB ist Firebird.

Also nochmal als Info, ich möchte nicht die Inhalte der 2 Spalten in einer Zeile verknüpfen, also das ich dann Hauptzähler + Unterzähler in einer Zeile erhalte sofern der Hauptzähler einen Unterzähler hat.

             Tabelle A               Tabelle B
              HZ                        HZ      NZ
1            123                       123    555
2            234                       234
3            345                       345    666
4            456                       456    777

Und das Ergebnis sollte sein:
      alle Zähler
1    123
2    555
3    234
4    345
5    666
6    456
7    777

(Sortierung ist natürlich vollkommen egal) 
Hoffe jetzt ist klar was ich bräuchte :)

Danke nochmals.

Daniel


« Letzte Änderung: 1. Februar 2008, 08:23 von DanielT »

Hornhues

  • Administrator
  • Experte
  • *****
  • Beiträge: 432
Hi,

OK, jetzt ist klar, was du meinst.
Du könntest eine Abgeleitete Tabelle machen, in der du ein select distinct auf beide Spalten machst und per UNION zusammenführst.

Gruß
Michael
Michael Hornhues

Windhoff Software Services GmbH
Am Campus 17
48712 Gescher


Tel.: +49 (0) 25 42 / 95 59 55
Fax: +49 (0) 25 42 / 95 59 20

DanielT

  • Jr. Member
  • **
  • Beiträge: 41
Hallo,

ja über eine abgeleitete Tabelle wäre das Ganze kein Problem, allerdings habe ich durch unsere Konstellation mit der Firebird DB dem ODBC Treiber der mit BO funktioniert (eingeschränkt) das Problem das ich keine abgeleiteten Tabellen erstellen kann.....
Von daher wäre ich dankbar über eine Lösung die ohne abgeleitete Tabellen auskommt (falls möglich).

Danke nochmals

Daniel

Hornhues

  • Administrator
  • Experte
  • *****
  • Beiträge: 432
Hallo,

ich denke, das dürfte mit Universumsmitteln schwierig werden.
Wenn abgeleitete Tabellen nicht funktionieren, würde ich diese Aufgabe an die Datenbank weitergeben, d.h. eine View erstellen, die den UNION vornimmt.

Ansonsten bleibt nur die Verknüpfung im Bericht.

Gruß
Michael
Michael Hornhues

Windhoff Software Services GmbH
Am Campus 17
48712 Gescher


Tel.: +49 (0) 25 42 / 95 59 55
Fax: +49 (0) 25 42 / 95 59 20

Roland

  • Experte
  • *****
  • Beiträge: 318
Hallo Daniel,

warum machst Du das nicht einfach im Bericht über die Sortierfunktion?

GK1 = HZ
GK2 = NZ

Evtl. mit unterdrücken arbeiten.

MfG
Roland
Crystal Reports & Business Objects XI (11.0.0.1282), Crystal Syntax, Datenbank läuft auf Microsoft SQL-Server 2000
- Es kommt nicht darauf an, mit dem Kopf durch die Wand zu gehen, sondern mit den Augen die Tür zu finden. -

Hornhues

  • Administrator
  • Experte
  • *****
  • Beiträge: 432
Hallo,

das funktioniert leider nur bei Crystal.
In WebI oder DeskI müsste man entsprechend in der Query einen UNION bauen. (geht bei Crystal übrigens auch)

Gruß
Michael
Michael Hornhues

Windhoff Software Services GmbH
Am Campus 17
48712 Gescher


Tel.: +49 (0) 25 42 / 95 59 55
Fax: +49 (0) 25 42 / 95 59 20