Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: SQL - Abfrage mit mehreren gleichen Werten

  1. #1
    rs71 ist offline Neuer Benutzer
    Registriert seit
    06.03.2009
    Beiträge
    8

    Standard SQL - Abfrage mit mehreren gleichen Werten

    Hallo,

    ich bin, wahrscheinlich wie manch Anderer auch, etwas verzweifelt, da ich ein Problem nicht lösen kann.

    Ich versuche eine Abfrage zu erstellen, in der nur gleiche Werte angezeigt werden, die mehrfach vorhanden sind.

    Also, Tabelle a sieht folgendermaßen aus:

    KTR44 KTR12 KTR07 KTR08 etc.
    1.) Proj-1 101101 101101 001
    2.) Proj-1 101101 101101 002
    3.) Proj-1 101202 101202
    4.) Proj-2 101303 101304 001
    5.) Proj-3 101404 101404 001

    KTR44 = Projekt
    KTR12 = übergeordneter Kostenträger
    KTR07 = untergeordneter Kostenträger
    KTR08 = Baugruppe des untergeordneten Kostenträgers

    Tabelle b
    FAK07 = untergeordneter Kostenträger
    FAK08 = Baugruppe des untergeordneten Kostenträgers
    FAK28 = Bezeichnung des untergeordneten Kostenträgers

    KTR07 und KTR08 werden zusammengeführt als KTR07 + '-' + KTR08 AS KTRBGR

    Was ich möchte, ist, dass nur die Daten angezeigt werden,
    I.) bei denen KTR12 mehr als ein KTRBGR zugewiesen hat und
    II.) wenn KTR12 nur ein KTR07 zugewiesen bekommt, aber KTR12 <> KTR07
    Also müßten die Zeilen 3 und 5 rausfliegen.

    In der Tabelle kann
    KTR07 = KTR12 und / oder
    KTR08 leer sein.

    Ich habe schon diverse Count oder Group by ohne Erfolg ausprobiert. Eigentlich müsste man für I.) nur ein GROUP BY KTR12 having Count (KTR12) > 1, aber da ich die anderen Spalten nicht gruppiere und eine Variable KTRBGR benutze, bekomme ich immer eine Fehlermeldung.

    Folgendes statement habe ich probiert, aber durch das GROUP BY bekomme ich nur jeweils 1x KTR07 angezeigt, was aber nicht richtig ist, da unter KTR12 bis zu jeweils 50 gleiche KTR07 mit keiner oder anderen KTR08 vorkommen können.

    SELECT KTR44, KTR12, REPLACE(FAK28, '"', ''),KTR07
    FROM aLEFT OUTER JOIN a ON KTR12 = FAK07
    WHERE KTR12 <> '' GROUP BY KTR07, KTR12, FAK28, KTR44
    having count (KTR07) = 1
    ORDER BY KTR44, KTR12, KTR07

    Ich habe KTR12 mit FAK07 gejoint da ich die Bezeichnung für KTR12 aus der Tabelle b brauche.

    Also, ich hoffe, ich konnte mein Problem einigermaßen verständlich erläutern und wäre sehr dankbar, wenn mir hierbei jemand helfen könnte!!!

  2. #2
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.465

    Standard

    Zitat Zitat von rs71 Beitrag anzeigen
    Also, ich hoffe, ich konnte mein Problem einigermaßen verständlich erläutern
    Nein.

    und wäre sehr dankbar, wenn mir hierbei jemand helfen könnte!!![/SIZE][/FONT]
    Verzichte mal bitte auf Spielereien mit Schriftart und Größe und mehrfache Ausrufezeichen und nutze lieber Code-Blöcke und zeige dort konkret, wie die Tabellen aufgebaut sind. Idealerweise erzeuge Beispieltabellen und Beispieldaten und gebe uns die SQL-Befehle, damit wir via Copy&Paste uns schnell mal die Tabellen bauen können. Und dazu, was Du als Ergebniss erwartest. Dann sehen wir weiter.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    rs71 ist offline Neuer Benutzer
    Registriert seit
    06.03.2009
    Beiträge
    8

    Standard

    Verzichte mal bitte auf Spielereien mit Schriftart und Größe und mehrfache Ausrufezeichen und nutze lieber Code-Blöcke und zeige dort konkret, wie die Tabellen aufgebaut sind. Idealerweise erzeuge Beispieltabellen und Beispieldaten und gebe uns die SQL-Befehle, damit wir via Copy&Paste uns schnell mal die Tabellen bauen können. Und dazu, was Du als Ergebniss erwartest. Dann sehen wir weiter.

    Andreas[/quote]

    Die Tabelle und das SQL-Statement und was ich möchte steht doch drin.

  4. #4
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.465

    Standard

    Zitat Zitat von rs71 Beitrag anzeigen
    Verzichte mal bitte auf Spielereien mit Schriftart und Größe und mehrfache Ausrufezeichen und nutze lieber Code-Blöcke und zeige dort konkret, wie die Tabellen aufgebaut sind. Idealerweise erzeuge Beispieltabellen und Beispieldaten und gebe uns die SQL-Befehle, damit wir via Copy&Paste uns schnell mal die Tabellen bauen können. Und dazu, was Du als Ergebniss erwartest. Dann sehen wir weiter.

    Andreas
    Die Tabelle und das SQL-Statement und was ich möchte steht doch drin.
    Nun ja.

    Code:
    KTR44 KTR12 KTR07 KTR08 etc.
    1.) Proj-1 101101 101101 001
    Was steht in welcher Spalte, welche Spaltentypen, ...

    Dein Select macht ein:

    Code:
    FROM aLEFT OUTER JOIN a
    was so nicht 'funzt'.

    Uns selbst nach 8-maligen Lesen von

    Code:
    Was ich möchte, ist, dass nur die Daten angezeigt werden,
    I.) bei denen KTR12 mehr als ein KTRBGR zugewiesen hat und
    II.) wenn KTR12 nur ein KTR07 zugewiesen bekommt, aber KTR12 <> KTR07
    Also müßten die Zeilen 3 und 5 rausfliegen.
    weiß ich nicht, was der Dichter mir damit sagen will. Aber egal, Case closed.


    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  5. #5
    rs71 ist offline Neuer Benutzer
    Registriert seit
    06.03.2009
    Beiträge
    8

    Standard Vielen Dank für die freundliche Unterstützung

    So macht es Spaß, dass man als unerfahrener User so tolle Hilfe und so nett formulierte Posts bekommen. War jetzt meine erste Erfahrung mit so einem Forum, aber wenn alle so hilfsbereit sind wie du, dann kann man es echt knicken. So long.

  6. #6
    Avatar von progs
    progs ist offline Super-Moderator
    Registriert seit
    26.11.2005
    Ort
    Kulmbach, Bayern, Germany, 108121049209415, Kulmbach
    Beiträge
    185

    Standard

    Wenn Du nicht bereit bist, die Informationen so zu präsentieren, dass jemand anders auf anhieb da durchblickt, sondern man sich erst alles selber zusammenbauen und formatieren musst, dann kannst Du keine Hilfe erwarten. Was ist den so schwer daran, den CODE-Tag zu verwenden? Was ist so schwer daran, etwas Übersicht in einen Post zu bringen?

  7. #7
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.465

    Standard

    Zitat Zitat von rs71 Beitrag anzeigen
    So macht es Spaß, dass man als unerfahrener User so tolle Hilfe und so nett formulierte Posts bekommen. War jetzt meine erste Erfahrung mit so einem Forum, aber wenn alle so hilfsbereit sind wie du, dann kann man es echt knicken. So long.
    Du, um das mal klarzustellen:

    Das ist ein Forum, wo Leute um Hilfe bitten und andere vielleicht helfen können. Unentgeldlich. Ich habe das schon hin und wieder hier getan, also Leuten geholfen.
    Und da ich das, wie erwähnt, unentgeldlich mache, gestehe mir bitte das Recht zu, darum zu bitten, daß hilfesuchende ihre Frage so stellen, daß man sie versteht und das Problem nachvollziehen kann. Okay, manchmal rate ich auch und manchmal sogar richtig, aber das klappt halt nicht immer. So z.B. bei Dir. Sorry.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  8. #8
    rs71 ist offline Neuer Benutzer
    Registriert seit
    06.03.2009
    Beiträge
    8

    Standard

    Wie gesagt, es ist mein erstes Mal in so einem Forum
    Code:
    SELECT KTR44, KTR12, REPLACE(FAK28, '"', ''),KTR07
    FROM aLEFT OUTER JOIN a ON KTR12 = FAK07
    WHERE KTR12 <> '' GROUP BY KTR07, KTR12, FAK28, KTR44
    having count (KTR07) = 1
    ORDER BY KTR44, KTR12, KTR07
    ist das so mit dem Code richtig?

  9. #9
    rs71 ist offline Neuer Benutzer
    Registriert seit
    06.03.2009
    Beiträge
    8

    Standard @ Andreas

    Andreas,

    das ist alles richtig. Nur bin ich noch nicht mit den ganzen Möglichkeiten vertraut und ich denke der Ton macht die Musik. Ich bin jedem dankbar, der mir hilft, weil ich echt nicht weiter komme.

  10. #10
    ads
    ads ist gerade online Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.055

    Standard

    Jetzt fehlt immer noch der Code wie du deine Tabelle(n) erstellst.
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 30.03.2012, 16:35
  2. Antworten: 15
    Letzter Beitrag: 26.08.2011, 10:44
  3. Antworten: 11
    Letzter Beitrag: 28.02.2010, 21:50
  4. Antworten: 4
    Letzter Beitrag: 09.11.2009, 16:32
  5. Antworten: 14
    Letzter Beitrag: 12.12.2008, 13:52

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum