Gorginio: Ein Query - Unterschiedl. Ausgabe bei MySQL, MS SQL und Access

Hallo miteinander,

Ich habe da mal wahrscheinlich eine ganz bloede Frage.

Ich hatte frueher mal eine query fuer MySQL geschrieben (SSScript war PHP), die den Eintrag von 2 Comboboxen (value1 & value2) als Basis fuer die Suche in der Datenbank verwendet.

Also habe ein query geschrieben, dass ungefaehr so lautet:

SELECT * FROM table WHERE field1= value1 AND field2=value2

Dabei war es unwichtig, ob nur eine Combobox ausgefuellt war, oder ob beide Combos Werte hatten. Ich habe immer die richtigen Resultate bekommen.

Nun habe ich dasselbe Prinzip mit einer Access Datenbank angewandt und siehe da, ich bekomme nur Resulte, wenn beide Dropdownlists Werte haben.

Da aber das Ganze anschliessend auf einen MS SQL migrieren soll, wollte ich wissen, wie sich denn nun MS SQL verhalten wird?

Danke fuer moegliche Antworten..

lg
Gorginio

  1. yo,

    SELECT * FROM table WHERE field1= value1 AND field2=value2

    Nun habe ich dasselbe Prinzip mit einer Access Datenbank angewandt und siehe da, ich bekomme nur Resulte, wenn beide Dropdownlists Werte haben.

    hast du dir den mal in beiden fällen die werte value1 und value2 ausgeben lassen oder besser die ganze abfrage ausgeben lassen bevor sie ausgeführt wird ?

    Ilja

    1. Hello,

      der Unterschied bei Queries in verscheidenen Datenbanken liegt oft im Verhalten beim Wert NULL. Bei Access z.B. darf mit dem Gegenwert String nicht auf ein Feld abgefragt werden, dass einen NULL-Wert enthält. Dadurch wird dann die gesamte Abfrage NULL, aber nicht true.

      ...also vorher abfragen, ob das Feld einen typkonformen Wert enthält und dann erst vergleichen.

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      1. Danke fuer die Info, dann weiss ich ja wo der Hund steckt.

        Weisst du uebrigens, wie sich MS SQL bezueglich NULL value verhaelt?

        Wie Access oder MySQL?

        LG
        Gorginio

        1. hallo

          http://msdn.microsoft.com. gute dokumentationen

          gruss

          --
          no strict; no warnings;
    2. yo,

      SELECT * FROM table WHERE field1= value1 AND field2=value2

      Nun habe ich dasselbe Prinzip mit einer Access Datenbank angewandt und siehe da, ich bekomme nur Resulte, wenn beide Dropdownlists Werte haben.

      hast du dir den mal in beiden fällen die werte value1 und value2 ausgeben lassen oder besser die ganze abfrage ausgeben lassen bevor sie ausgeführt wird ?

      Ilja

      Ja...
      Um es genauer zu schildern. Ich habe eine Suchmaske mit 4 Dropdowns, 4 Textfeldern und einigen Checkboxen.

      Alle Dropdownlistenwerte werden ueber den Dropdown Index (meist primary key) gesucht.

      Values werden richtig uebergeben, die Dropdownlisten werden dynamisch gefuellt, anschliessend wird eine eine leere Zeile an erster Stelle eingefuegt, die keinen Wert zugewiesen hat.
      (auch ueberprueft).
      Trotzdem bekomme ich keine Resultate, wenn die leere Zelle ausgewaehlt ist.

      lg
      Gorginio

      1. hi,

        Um es genauer zu schildern.

        warum antwortest du nicht zunächst einmal etwas ausführlicher auf Iljas frage?

        gruss,
        wahsaga

  2. Moin!

    Da aber das Ganze anschliessend auf einen MS SQL migrieren soll...

    Wer bitte schön macht denn sowas?

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.