whistler81
24-06-2002, 17:18
Hallo!
ICh möchte gerne folgendes machen:
ich habe die Tabelle "leser" und möchte nun nur die Datensätze anzeigen lassen bei denen das Feld "eMail" ausgefüllt ist.
Wie stelle ich das am besten an?
Liebe Grüße
Clemens
Wenn die Tabelle vernünftig erstellt und gefüllt ist (NULL Feld und NULL Werte):
SELECT *
FROM leser
WHERE email IS NOT NULL
Sonst mußt Du halt auch noch auf '' abprüfen ...
whistler81
24-06-2002, 17:35
wie meinst du es mit "Null Feld und Null Werte"?
im Feld eMail steht die eMail Adresse drinnen....
mit dem "ist nicht null" gehts nicht wirklich :(
shortie19
24-06-2002, 17:39
das mit dem null heist das das feld leer ist.
wenn du ein insert machst und in eine spalte nix einträgst dann bekommt das feld den wert null das heist wenn deine spalte null werte zulässt so wird dort immer null reingeschrieben wenn du keine eMail adresse einfügst in deinem fall wird es sein dfas du über einscrippt immer einen leerstring einfügst das heist du musst schreiben
select * from leser where email ='' or email is not null
das '' sind zwei einzelne hochkommata kein anführungszeichen
whistler81
24-06-2002, 17:51
vielleicht habe ich vergessen zu sagen dass es sich um eine access db handelt, die arbeitet aber ja auch nach sql prinzip.
das problem ist nur, dass wenn keine eMail Adresse eingetragen ist, das Feld leer bleibt....
scheint etwas kompliziert zu werden.
Clemens
Also bei mir funktioniert das Statement in der ACCESS 2000 so:
SELECT leser.name, leser.email
FROM leser
WHERE leser.email is not null;
Tabellendefinition insbesondere leser.email habe ich mal als Bild drangehängt ...
SELECT name, email FROM leser WHERE email;
sollte reichen.
shortie19
24-06-2002, 18:09
na sql in acess und sql in mysql unterscheiden sich schon ein bischen aber vom pribzip her sollte das so gehen kann nur sein das der noch irgendwo klammern oder so haben will
das das feld leer bleibt wenn keine eMail eingetragen ist ist doch volkommen in ordnung höchstens du sagst der spalte das sie not null sein darf dann wäre das aber auch nicht möglich denn dann bekommst du beim insert einen fehler
in acess solltest du mal folgendes ausprobieren
also ich habe jetzt mal nachgeschaut wenn du ne abfrage erstellst klickst du links oben auf sql und gibst dort folgendes ein
SELECT *
FROM leser
WHERE email is not null;
also bei mir geht das!
gruß shortie
whistler81
24-06-2002, 18:13
danke danke
habe es schon geschafft
Lg Clemens