WinFuture-Forum.de: Sql: Problem Mit Dem Join Statement - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Sql: Problem Mit Dem Join Statement Abfrage über 2 Spalten


#1 Mitglied ist offline   cattas 

  • Gruppe: aktive Mitglieder
  • Beiträge: 171
  • Beigetreten: 24. Dezember 06
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 02. April 2009 - 17:01

hallöchen zusammen,

ich habe hier 2 tabellen und 1 problem ;)

Tabelle1 enthält :
Name | Gruppe1 | Gruppe2
N1 | 4 | 11
N2 | 6 | 12
N3 | 8 | 13

und Tabelle 2:
Stück| Gruppe1 | Gruppe2
58 | 4 | 11
99 | 6 | 1777
33 | 8 | 13

das ergebnis soll dann so aussehen:
Stück | Name
58 | N1
33 | N3

ich denk mal mit dem inner join bin ich schon richtig aber ich weiß nicht wie ich das mit 2 spalten machen muss.

in jeder tabelle sind ca 100 zeilen und ich erhalte rund 16000 ergebnisse ;) ?!?
vielleicht kann mir ja ein sql-Crack einen tipp geben was ich falsch mache ;)

Mein Statement sieht jetzt so aus:
SELECT BuchungsMuster.WausTxt, BuchungsMuster.Kg, BuchungsMuster.Stg, kassenabschlussElemente.Kassengruppe, KassenabschlussElemente.Steuergruppe, KassenabschlussElemente.Stueck
FROM KassenabschlussElemente inner join  BuchungsMuster on KassenabschlussElemente.Steuergruppe = BuchungsMuster.Stg and kassenabschlussElemente.Kassengruppe = BuchungsMuster.Kg;


mfgcattas

Dieser Beitrag wurde von cattas bearbeitet: 02. April 2009 - 17:03

0

Anzeige



#2 Mitglied ist offline   Mr_Maniac 

  • Gruppe: aktive Mitglieder
  • Beiträge: 770
  • Beigetreten: 29. Juli 02
  • Reputation: 1
  • Geschlecht:Männlich
  • Interessen:Vieles rund um den Computer
    Musik

geschrieben 02. April 2009 - 17:43

Okay... Das mit den 16000 Zeilen kann ich gerade nicht verstehen, wenn die Tabelle WIRKLICH nur so aussieht, wie von dir angegeben...

Aber: Wie viele Einträge hat denn deine ORIGINAL-DB mit der du arbeitest? Wirklich nur drei pro Tabelle?
Wenn nein: Wie viele Einträge (ungefähr) hat sie denn, auf die deine Kriterien zutreffen würden?
WENN es mehrere Ergebnisse sind: Was willst du eigentlich? Die gesamtzahl an Stücken?
Dann ist mir dein Problem klar.

Ich bin vor allem verwirrt, weil deine Tabellenbeschreibung und deine Abfrage total voneinander abweichen.

Deine Abfrage müsste übrigens mehrere Spalten ausgeben: WausText, Kg, Stg, Kassengruppe, Steuergruppe und Stueck.

Wenn du das willst, was ich denke, was du willst, dann willst du das (genialer Satz, oder? ;) ):
SELECT
  SUM(KassenabschlussElemente.Stueck),
  BuchungsMuster.WausTxt
FROM KassenabschlussElemente 
  INNER JOIN BuchungsMuster ON KassenabschlussElemente.Steuergruppe = BuchungsMuster.Stg AND kassenabschlussElemente.Kassengruppe = BuchungsMuster.Kg
GROUP BY BuchungsMuster.WausTxt;


Allerdings würde dir dieses SQL nach Bezeichnung gruppieren. Wenn es mehrere Entitäten mit demselben Namen gibt, würden diese zu einem Eintrag zusammengefasst werden, Obwohl sich Steuergruppe und Kassengruppe unterscheiden.
Also kannst du diese beiden auch noch zum GROUP BY hinzufügen.
0

#3 Mitglied ist offline   cattas 

  • Gruppe: aktive Mitglieder
  • Beiträge: 171
  • Beigetreten: 24. Dezember 06
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 02. April 2009 - 18:02

Also ich wollte genau das, was du dachtest, was ich denke, was ich wollte. ;)

mit den 16000 ergebnissen hattest du recht. es sind in den tabellen noch mehr spalten drin aber ich hab nicht daran gedacht das es daran lag. ich hab jetzt noch ein where eingebaut und jetzt liefert mir die abfrage genau das was ich wollte.

aber was meinst du damit das die tabelle von meiner abfrage abweicht? in der einen tabelle heißt die spalte Kg in der anderen Kassengruppe?

vielen dank noch mal ;) ;) ;)

mfgcattas
0

#4 Mitglied ist offline   Mr_Maniac 

  • Gruppe: aktive Mitglieder
  • Beiträge: 770
  • Beigetreten: 29. Juli 02
  • Reputation: 1
  • Geschlecht:Männlich
  • Interessen:Vieles rund um den Computer
    Musik

geschrieben 02. April 2009 - 19:26

Beitrag anzeigenZitat (cattas: 02.04.2009, 19:02)

aber was meinst du damit das die tabelle von meiner abfrage abweicht? in der einen tabelle heißt die spalte Kg in der anderen Kassengruppe?


Hi!
Ich meinte das Beispiel mit den drei Datensätzen.
Dort hast du einfach nur
"Name, Gruppe1, Gruppe2"
und
"Stück, Gruppe1, Gruppe2"
angegeben und in deiner Abfrage standen dann plötzlich die "echten" Feldnamen :D
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0