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, 7541 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

MFG
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 ..
Ähnliche Inhalte
Datenbanken
gelöst Hilfe bei SQL-Abfrage (5)

Frage von emeriks zum Thema Datenbanken ...

Datenbanken
gelöst SQL-Abfrage mit "kleiner gleich" funktioniert nicht (2)

Frage von derSESO zum Thema Datenbanken ...

Datenbanken
gelöst SQL Abfrage - Ausgabe von Person mit Privat- und Dienstadresse (3)

Frage von CBruns zum Thema Datenbanken ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(2)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

LAN, WAN, Wireless
gelöst Statische Routen mit ISC-DHCP Server für Android Devices (22)

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

Exchange Server
gelöst Migration Exchange 2007 zu 2013 - Public Folder teilweise weg (16)

Frage von Andy1987 zum Thema Exchange Server ...