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, 7550 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
Entwicklung
gelöst SQL Abfrage Zeit: JETZT - 30 Sekunden (17)

Frage von Andinistrator1 zum Thema Entwicklung ...

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 ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Exchange Server
Exchange Postfach leeren - nicht löschen (9)

Frage von AndreasOC zum Thema Exchange Server ...

Ubuntu
Nextcloud 12 Antivirus App for Files (8)

Frage von horstvogel zum Thema Ubuntu ...