Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

SQL Abfrage - WHERE mit 2 Bedingungen

Empfohlene Antworten

Veröffentlicht

Hallo,

Ich habe in einem CMS eine gegebene Variable für einen Benutzernamen in der Form "Max Mustermann"

In einer anderen Tabelle sind Daten über den Nutzer gespeichert, allerdings werden dort Vor und Nachnemen getrennt.

Der Username besteht immer aus Vor + Nachneme, also in der Form "Max Mustermann"

Wie kann ich jetzt die Infos über den User aus der Tabelle auslesen ? Ich habe den String "Max Mustermann" und möchte die Daten des Datensatzes, der bei Name "Mustermann" und bei vorname "Max" enthält...

Ich habe es so versucht, aber dabei werden mir alle Datensätze ausgegeben: :-(


SELECT name, vorname, email, fax, tel

FROM tabellenname

WHERE vorname + " " + name = "Max Mustermann"

Wie muss ich die Abfrage zusammensetzen, um das gewünschte Ergebnis zu bekommen ????

Danke im Voraus...

SELECT name, vorname, email, fax, tel

FROM tabellenname

WHERE vorname = "Max" AND name = "Mustermann" 

Das Problem ist ja, das der Begriff "Max Mustermann" eine zeichenfolge ist, nicht zwei Würter.

Wenn ich recht verstehe hast Du in Deinem Programm einen String, der den vollen Namen enthält.

Also musst Du ihn erst im Programm zerlegen mit dem " " (Chr(20)) als Trennzeichen.

So würde ich es in PHP machen:

NameArray = implode(NameString, " ")

Dann in SQL so abfragen, wie GrandMasta beschrieben hat. In NameArray[0] wäre demnach der Vorname und NameArray[1] der Nachname.

Du musst allerdings darauf achten, dass Fälle abgefangen werden, in denen z.B. mehr als zwei Teile im String sind (z.B. "Max Xaver Mustermann") oder der User vielleicht nur "Mustermann" eingibt!

Danke das werde ich später mal versuchen... Hört sich plausibel an...

Achso, das hatte ich überlesen..

Wenn die Zeichenfolge immer so aufgebaut ist: [Vorname][Leerzeichen][Nachname], könntest du doch den String auch einfach teilen, sodass Vor- und Nachname getrennt werden. Und dann halt so abfragen, wie ich eben geschrieben habe.

EDIT: mist, zu spät...

Gern geschehen. Programmierst Du denn auch in PHP? Ggf. heißt die Funktion nämlich sonst anders (z.B. strtok in C++)

Ja, ich programmiere in PHP, aber auf die Idee, den String schon dort zu teilen bin ich einfach net gekommen... Und ich dachte mir eben, man kann mit SQL mal schnell mehrere Strings zusammenführen ;-)


SELECT name, vorname, email, fax, tel

FROM tabellenname

WHERE vorname + " " + name = "Max Mustermann"

Mysql?

select name from tabellenname where concat(vorname, ' ', name) = 'Max Mustermann';

Gruß Jaraz

Mysql?


select name from tabellenname where concat(vorname, ' ', name) = 'Max Mustermann';

Gruß Jaraz

Vielen Dank, genau das habe ich gesucht - funktioniert wunderbar.... :)

Ein CMS benutzt MySQL :confused:

Was issen das für ein CMS?

Ein CMS benutzt MySQL :confused:

Was issen das für ein CMS?

Gegenfrage:

Welcher übliche Webspace, wie ihn die meisten anmieten, bietet etwas anderes als MySQL ???

Das CMS ist übrigens Contenido, die Seite (momentan in Entwicklung) ist http://www.mfc-langen.eu/cms

MySQL ist nach wie vor die gängigste Datenbank für Webapplikationen... Auf Windowsservern überwiegen natürlich die MSSQL-Banken.

Da ich ja nunmehr für meine Sachen unsere MSDN-Lizenzen benutzen darf, benutze ich auch lieber Microsoft-Produkte.

Gegenfrage:

Welcher übliche Webspace, wie ihn die meisten anmieten, bietet etwas anderes als MySQL ???

Das CMS ist übrigens Contenido, die Seite (momentan in Entwicklung) ist http://www.mfc-langen.eu/cms

Wo stand vorher, daß das CMS im Web ist?

Auszug aus der Wikipedia:

WCM wird heute als Bestandteil übergreifender Enterprise-Content-Management-Systeme (ECM) betrachtet. CMS dagegen wird, zumindest außerhalb Deutschlands, allgemein für Content Management Systeme benutzt und beschränkt sich nicht nur auf Web-Content-Management-Systeme (WCMS) oder Redaktionssysteme.

Ansonsten habe ich noch im Angebot (natürlich nicht bei Webspace dabei):

Oracle, DB2, MS SQL

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.