Seite 1 von 1
erweiterte SQL-Suche
Verfasst: 25.12.2008 22:12
von MarcE
Servus!
Folgendes möchte ich (mittels phpMyAdmin) machen:
aus der "phpbb_users" möchte ich die Einträge mit einer bestimmten E-Mail Adresse raussuchen und mir anzeigen lassen.
Bei einem Eintrag sieht das so aus:
Code: Alles auswählen
SELECT * FROM `phpbb_users` WHERE `user_email` LIKE 'name@domain.net';
Super, geht auch. Wie sieht der Befehl aber bei mehreren (180) Einträgen aus?
Danke für eure Hilfe.
MarcE
Re: erweiterte SQL-Suche
Verfasst: 25.12.2008 23:11
von 4seven
evtl. so?
Code: Alles auswählen
SELECT * FROM `phpbb_users` WHERE `user_email` LIKE '@';
Verfasst: 25.12.2008 23:56
von MarcE
Nee, nicht wirklich. Das ergibt eine leere Antwort ("NULL").
Wenn man
Code: Alles auswählen
SELECT * FROM `phpbb_users` WHERE `user_email` LIKE '%@%';
nimmt, werden alle ("gültigen") aufgelistet.
Ich such was zum kombinieren, d.h. ich habe 180 E-Mail-Adressen und diese will ich aus den 5.404 User herausfiltern. Irgendsowas wie:
Code: Alles auswählen
SELECT * FROM `phpbb_users` WHERE `user_email` LIKE 'a@domain.net', 'b@domain.net';
Verfasst: 26.12.2008 01:30
von Dave
Code: Alles auswählen
SELECT * FROM `phpbb_users` WHERE `user_email` LIKE '%@domain.net' OR `user_email` LIKE '%@domain.org';
Das % is zu sehen wie sonst nen *. gibt dir also alles zurück was mit @domain.net oder @domain.org endet. Das "or" kannst du auch nach belieben erweitern.
MfG
Dave
Verfasst: 26.12.2008 01:38
von Pyramide
Woher kommen denn die Einträge?
- Wenn diese einen bestimmten Muster entsprechen, dann arbeite mit LIKE und % (siehe Lösung von Dave)
- Wenn diese in einer anderen Tabelle stehen, dann verwende
Code: Alles auswählen
WHERE user_email IN (SELECT email FROM andere_tabelle)
- Wenn du eine Liste z.B. als PHP-Array hast, dann bau eine Anweisung in der Form
Verfasst: 26.12.2008 14:16
von MarcE
Pyramide hat geschrieben:Woher kommen denn die Einträge?
Aus einer Textdatei. Es handelt sich um User, ohne Postings, die über ihre Mail-Adresse nicht erreichbar sind. Also Rückläufer vom Admin-Reminder.
- Wenn du eine Liste z.B. als PHP-Array hast, dann bau eine Anweisung in der Form
Aaaaah, genau das ist es. Vielen Dank!!!
Ich war mir einfach nicht über die Formatierung nicht im klaren. Wie kommt es das user_email dann nicht mehr in Anführungszeichen stehen darf? Muß mir wohl mal die Befehls-Referenz zu Gemüte führen...
Auf jeden Fall: vielen Dank für eure konstuktiven Antworten!
Mit sportlichen Grüßen
MarcE
[ externes Bild ]
Verfasst: 26.12.2008 22:37
von Pyramide
MarcE hat geschrieben:Wie kommt es das user_email dann nicht mehr in Anführungszeichen stehen darf?
Darf es schon noch, ich habe es nur weggelassen, weil es in diesem Fall nicht erforderlich ist. Die Backticks (`) werden z.B. benötigt, wenn eine Tabelle/Spalte den gleichen Namen wie ein reserviertes Wort hat (z.B. CREATE TABLE `select`)
Verfasst: 27.12.2008 01:42
von MarcE
Verstehe. Danke.