Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

SQL Abfrage in SQL 2005 mit Filter erstellen

Frage Entwicklung Datenbanken

Mitglied: Raban

Raban (Level 1) - Jetzt verbinden

11.11.2008, aktualisiert 11:35 Uhr, 7517 Aufrufe, 7 Kommentare

ich habe in einer Adress-Tabelle mit Splatenüberschriften
Vorname | Name | EMail

Max | Mustermann | max@web.de
Elise | Download | elise@google.de

etc....

Ich will eine SQL Abfrage starten auf meine Tabelle die mir dann folgendes anzeigt

in der Spalte EMAIL sollen nur die Einträge nach dem at Zeichen '@' angezeigt werden

Vorname | Name | EMail

Max | Mustermann | web.de
Elise | Download | google.de

nur ich weiss leider nicht wie und mit welchem Befehl das geht...geht das überhaupt? Ist ja eine Art Filter...soll in der Spalte EMAIL nur das anzeigen was nach @ kommt

SELECT NAME AS Name,
Vorname AS Vorname
EMAIL AS EMail,
FROM ADDRESSES

bekomme ich

Name | Vorname | EMail

Max | Mustermann | max@web.de
Elise | Download | elise@google.de

Vielen Dank für Eure HIlfe

Mit freundlichen Grüßen
Robert
Mitglied: Logan000
11.11.2008 um 09:00 Uhr
Moin Moin

nur ich weiss leider nicht wie und mit welchem Befehl das geht...geht das überhaupt? Ist ja eine Art Filter.
Nein, kein Filter. Schlieslich wilst du ja alle Datensätze sehen.

Das machst du über eine Feldfunktion. Sieht in SQL etwa so aus (ungetestet):
01.
SELECT Vorname, Nachname, Right([Email],Len(Email])-InStr([Email],"@")) AS domain 
02.
FROM MeineTabelle;
Kleiner Tipp du soltest evtl. nochüberprüfen das Feld Email nicht Leer oder Null ist.

Gruß L.
Bitte warten ..
Mitglied: Raban
11.11.2008 um 09:47 Uhr
Hallo,

vielen Dank erstmal für die schnelle Antwort ...leider kommt folgende Meldung

Meldung 156, Ebene 15, Status 1, Zeile 1
Falsche Syntax in der Nähe des 'Right'-Schlüsselwortes.

die Abfrage lautet nun

SELECT COMPANY1, FIRSTNAME0, LASTNAME0, EMAIL0 Right([EMAIL0],Len(EMAIL0])-InStr([EMAIL0],"@")) AS domain
FROM ADDRESSES

Hast Du event. noch eine Idee?
Vielen Dank für deine Mühe
Gruß
Robert
Bitte warten ..
Mitglied: Biber
11.11.2008 um 10:01 Uhr
Moin Raban,

eventuell fehlt ein Komma zwischen "EMAIL0" und "Right( EMail0,....".

Grüße
Biber
Bitte warten ..
Mitglied: Raban
11.11.2008 um 10:43 Uhr
Danke Biber,

jetzt kommt die Meldung

Meldung 102, Ebene 15, Status 1, Zeile 1
Falsche Syntax in der Nähe von ']'.

fehlt hier an der Stelle was?

Len(EMAIL0]) sollte eventl. so aussehen

Len([EMAIL0])

@EDIT@ - wenn ich das tue dann kommt folgende Meldung

Meldung 195, Ebene 15, Status 10, Zeile 1
'InStr' wird nicht als Name einer integrierten Funktion erkannt.


Danke
Gruß
Robert
Bitte warten ..
Mitglied: Biber
11.11.2008 um 11:24 Uhr
Moin Raban,

stimmt, beim SQLServer ist die INSTR-Funktionalität zwar auch bereitgestellt, aber heißt nicht INSTR(), sondern CHARINDEX().

Vermutlich damit die Access-Umsteiger merken, dass sie jetzt ein anderes Blech drunterhaben.

Syntax für die Positionsermittlung des Zeichens "@" im Feld EMAIL0 wäre dann:
SELECT .... CHARINDEX( '@', [Email0]) AS Position  
from Addresses
Grüße
Biber
Bitte warten ..
Mitglied: Raban
11.11.2008 um 11:34 Uhr
SUPER jetzt funktioniert
Vielen Vielen DANK....ich bin so Happy

falls noch jemand das benötigt, aus welchem Grund auch immer, hier ist die komplette Abfrage

SELECT COMPANY1, FIRSTNAME0, LASTNAME0, EMAIL0, Right([EMAIL0],Len([EMAIL0])-CHARINDEX('@', [EMAIL0])) AS domain
FROM ADDRESSES

Schöne Grüße aus Hannover
Robert
Bitte warten ..
Mitglied: MadMax
11.11.2008 um 11:35 Uhr
Hallo Robert,

InStr kennt der SQL Server nicht, hier heißt das charindex. Also statt "InStr (EMAIL0, '@')" mußt Du "charindex ('@', EMAIL0)" einsetzen. Und ja, die zu suchende Zeichenfolge kommt beim SQL Server zuerst.

Gruß, Mad Max

Edit: Ups, zu langsam
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Datenbanken
gelöst Fehler bei SQL Abfrage - Filter Funktion (2)

Frage von mschaedler1982 zum Thema Datenbanken ...

Datenbanken
gelöst SQL-Abfrage - DISTINCT - letztes Datum (3)

Frage von emeriks zum Thema Datenbanken ...

Datenbanken
SUM oder AVG in SQL Abfrage dauert viel zu lange warum? (5)

Frage von samet22 zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...