Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

SELECT Statement spinnt? MS Access

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
e-fee
PostRank 10
PostRank 10
Beiträge: 3893
Registriert: 08.05.2007, 12:53

Beitrag von e-fee » 25.08.2010, 15:46

Stehe vor einem Rätsel:

Code: Alles auswählen

SELECT * FROM tabelle WHERE feld <> 'meinstring'
Feld ist Textfeld, kann leer sein,diesen String oder einen anderen enthalten. Leider bekomme ich nicht alle Datensätze zurück, die meinstring nicht enthalten. Bei Verwendung von NOT mit = dasselbe Problem, != geht nicht wegen Syntaxfehler.
Wenn ich die Bedingung in Klammern gesetzt verneine, bekomme ich korrekt nur die Datensätze mit meinstring.
In der Summe habe ich aber nur 500 + 1000 von 2500 Datensätzen, kann doch nicht sein!
Und es spielt auch keine Rolle, ob feld leer oder nicht!

Logikfehler oder Tabelle geschrottet?

Anzeige von ABAKUS

von Anzeige von ABAKUS »

Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

Anonymous

Beitrag von Anonymous » 25.08.2010, 15:51

und wenn du die SQL Abfrage mit einem ; am ende abschließt? :roll:

welche daten fehlen dir denn jeweils bei den einzelnen Abfragen.... also sind es z.B. die mit leerem textfeld?

profo
PostRank 9
PostRank 9
Beiträge: 1703
Registriert: 18.01.2007, 18:51

Beitrag von profo » 25.08.2010, 16:18

Mit der Abfrage solltest Du in der Tat alle Zeilen bekommen, bei denen feld nicht exakt "meinstring" lautet. Und vergleich doch noch mal die Summen von Deiner ersten mit der negierten Abfrage, also etwa:

Code: Alles auswählen

SELECT &#40;
    &#40;SELECT COUNT&#40;*&#41; FROM tabelle&#41;
    - &#40;SELECT COUNT&#40;*&#41; FROM tabelle WHERE feld <> 'meinstring'&#41;
    - &#40;SELECT COUNT&#40;*&#41; FROM tabelle WHERE NOT &#40;feld <> 'meinstring'&#41;&#41;
&#41; as diff;
Wenn ungleich 0 ist Deine Tabelle wohl geschmolzen...