Announcement

Collapse
No announcement yet.

SQL Abfrage mit einem Query möglich?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SQL Abfrage mit einem Query möglich?

    Guten Tag,

    ich bin auf der Suche nach dem Syntax für eine SQL Abfrage.

    Hier eine kurze Tabellenbeschreibung (Tabelle Kunden):
    Kundennummer char(10) (es kann dubletten geben)
    pruefen char(1)
    datum char(20)

    Nun möchte ich mir mit einer Abfrage immer genau einen Satz bekommen in denen entweder:

    a) Der Wert von pruefen = '1' ist. Und auch nur genau ein Datensatz dieser Kundennummer existiert in dem der Wert vpn pruefen '1' ist
    b) Der Wert pruefen '1' ist, und das Feld Datum dieses Datensatzes null oder '' ist und es nur genau einen Datensatz gibt auf den das zutrifft!

    Was ist eigentlich performanter? Das ganze mit zwei Abfragen oder einer umzusetzen?
    Hoffe ich konnte mich verständlich ausdrücken ;-)
    Vielen Dank!

  • #2
    Hallo,

    also so richtig versteh ich deine Aufgabenstellung nicht. Also wenn a und b mit ODER verknüpft sind, dann ist b redundant, denn a deckt auch den Fall b ab.

    Oder hab ich was falsch verstanden?

    Vielleicht lieferst du mal ein paar Beispieldaten und dein gewünschtes Ergebnis!

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Ok :-)

      Also grundsätzlich muss prüfen immer 1 sein damit überhaupt was zurückkommt. Hier jetzt die möglichkeiten:

      Also Beispiel 1:
      Ermittelt werden soll der Datensatz der Kundennummer 12345

      1. 12345 1 11.11.2008
      2. 12345 0 12.11.2008
      3. 88888 1 12.11.2008

      Ergebnis: 12345 1 11.11.2008 -> weil nur genau ein Datensatz vorhanden mit kdnr 12345 und pruefen=1

      Beispiel 2:
      Ermittelt werden soll der Datensatz der Kundennummer 12345

      1. 12345 1 11.11.2008
      2. 12345 1 12.11.2008
      3. 88888 1 12.11.2008

      Ergebnis: leer-> weil zwei Datensätze vorhanden mit kdnr 12345 und pruefen=1 und gefülltem Datum

      Beispiel 3:
      Ermittelt werden soll der Datensatz der Kundennummer 12345

      1. 12345 1 11.11.2008
      2. 12345 1 leer oder null
      3. 88888 1 12.11.2008

      Ergebnis: 12345 1 leer oder null-> weil nur ein Datensatz vorhanden mit kdnr 12345 und pruefen=1 und leerem Datum

      Beispiel 4:
      Ermittelt werden soll der Datensatz der Kundennummer 12345

      1. 12345 1 11.11.2008
      2. 12345 1 leer oder null
      3. 12345 1 leer oder null
      4. 88888 1 12.11.2008

      Ergebnis: leer-> weil der datensatz mit dem leeren Datum nicht eindeutig ist.

      Mit zwei Abfragen wärs ja kein Problem: erstmal alle abfragen wo prüfen 1 ist und die ergebnisse dann auch nochmal analysieren. Aber gehts auch mit einer Abfrage?

      Comment

      Working...
      X