erweiterte SQL-Suche

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
MarcE
Mitglied
Beiträge: 37
Registriert: 20.06.2005 15:42
Wohnort: 64686 Lautertal
Kontaktdaten:

erweiterte SQL-Suche

Beitrag 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
Die Aufschrift "schwer entflammbar" ist keine Aufforderrung...
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: erweiterte SQL-Suche

Beitrag von 4seven »

evtl. so?

Code: Alles auswählen

SELECT * FROM `phpbb_users` WHERE `user_email` LIKE '@';
Benutzeravatar
MarcE
Mitglied
Beiträge: 37
Registriert: 20.06.2005 15:42
Wohnort: 64686 Lautertal
Kontaktdaten:

Beitrag 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';
Die Aufschrift "schwer entflammbar" ist keine Aufforderrung...
Dave
Mitglied
Beiträge: 2085
Registriert: 25.05.2003 15:03
Wohnort: Wuppertal

Beitrag 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
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag 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

    Code: Alles auswählen

    WHERE user_email IN('email1', 'email2', 'email3')
KB:knigge
Benutzeravatar
MarcE
Mitglied
Beiträge: 37
Registriert: 20.06.2005 15:42
Wohnort: 64686 Lautertal
Kontaktdaten:

Beitrag 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

    Code: Alles auswählen

    WHERE user_email IN('email1', 'email2', 'email3')
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... :roll:

Auf jeden Fall: vielen Dank für eure konstuktiven Antworten!

Mit sportlichen Grüßen

MarcE [ externes Bild ]
Die Aufschrift "schwer entflammbar" ist keine Aufforderrung...
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag 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`)
KB:knigge
Benutzeravatar
MarcE
Mitglied
Beiträge: 37
Registriert: 20.06.2005 15:42
Wohnort: 64686 Lautertal
Kontaktdaten:

Beitrag von MarcE »

Verstehe. Danke.
Die Aufschrift "schwer entflammbar" ist keine Aufforderrung...
Antworten

Zurück zu „Coding & Technik“