Zurück zur Startseite

7. Mai 2013

SQL & TYPO3 : Mehrere Werte in einer Spalte abfragen

Unüblich aber manchmal kommt es vor, dass 2 oder mehr Werte als Komma separierte Liste in einem Datenbankfeld stehen. Konfrontiert wird man damit  in TYPO3, wenn man mit der Tabelle fe_users arbeitet. In TYPO3 besteht die Möglichkeit, Frontend-Benutzer mehreren Gruppen zuzuordnen. Datenbanktechnisch wird dies gelöst, indem im Feld usergroup eine Liste angelegt wird.

Wie geht man damit um? 

Eine Standardabfrage z.B.

SELECT fe_users.uid, fe_users.name, fe_users.usergroup  
FROM fe_users  
WHERE fe_users.usergroup = 1

Liefert alle Benutzer als Ergebnis, deren usergroup = 1 ist, oder wenn die 1 in einer Liste in der Spalte vorne steht.
Alle weiteren Werte werden ignoriert.

Lösung:

SELECT fe_users.uid, fe_users.name, fe_users.usergroup  
FROM fe_users  
WHERE FIND_IN_SET(1, fe_users.usergroup)

Liefert auch die Benutzer, deren usergroup = 1 in einer Liste steht, unabhängig von der Position.

Autor: Andreas Kempf, Dienstag, 07.05.2013 Datenbank SQL Extensionentwicklung TYPO3

Keine Kommentare  Kontakt

Noch keine Kommentare

Schreib einen Kommentar

*


Dieser BLOG

Neben den Aspekten der Website Erstellung mit TYPO3 oder Wordpress vom Webdesign bis zur Extensionentwicklung, behandelt dieser BLOG auch das Thema Vermarktung im Internet. Zum Online Marketing gehören u.a. Lokale Suchmaschinenoptimierung, OnPage SEO, Online PR, Content Marketing, Newslettermarketing, Social Media, Webanalyse und vieles mehr.
Viel Spaß und neue Erkenntnisse wünscht
Andreas Kempf, Web-aktiv

web-aktiv.com  |  Kontakt   |  Impressum Datenschutz

Supporting Member of the TYPO3 Association

Werbung

XOVI