Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Kurzschreibweise für SQL-Befehl gesucht

Frage Entwicklung Datenbanken

Mitglied: Maik87

Maik87 (Level 2) - Jetzt verbinden

23.04.2009, aktualisiert 18.10.2012, 4219 Aufrufe, 4 Kommentare

Hallo zusammen,
ich suche eine Kurzschreibweise für folgenden Befehl, da dieser, wie er jetzt dort steht, schwer zu ändern ist:

Select *
from tabelle
where
...
and
(
...
t.feld1 not in (select bla bla bla)
and
t.feld2 not in (select bla bla bla)
and
t.feld3 not in (select bla bla bla)
...)


Der SQL-Befehl in den drei Klammern ist immer der gleiche. Deswegen würd ich ihn gern "zentralisieren".

Gibt es da eine Idee??

Vielen Dank
Maik
Mitglied: maretz
23.04.2009 um 10:49 Uhr
naja - zuerst würde ich mal das "select * ..." entfernen und die Feldnamen eintragen -> da sonst die wartbarkeit grade bei großen Tabellen extrem leidet... Irgendwann fügt doch mal jemand nen Feld in der Mitte ein -> und schon läuft ggf. dein ganzes Programm worin die Abfrage läuft schon ins Nirvana...

Das andere wäre dann die Frage worin du deine Abfrage schreibst... Direkt im SQL oder wird die aus einem Programm erzeugt? In einem Programm kann man z.B. über einen Array gehen (wenn z.B. deine select bla bla bla etwas wie "select id from benutzer" ist -> dann mache ich die Abfrage einmal und speichere die IDs in einem Array... schon spare ich 3 Abfragen).

Alles weitere hängt vom genauen Tabellenaufbau und den Anforderungen ab...
Bitte warten ..
Mitglied: Maik87
23.04.2009 um 10:56 Uhr
Danke für deine schnelle Antwort!!

Zitat von maretz:
naja - zuerst würde ich mal das "select * ..."
entfernen und die Feldnamen eintragen -> da sonst die wartbarkeit
grade bei großen Tabellen extrem leidet... Irgendwann fügt
doch mal jemand nen Feld in der Mitte ein -> und schon läuft
ggf. dein ganzes Programm worin die Abfrage läuft schon ins
Nirvana...

Ich hatte nur keine Lust die ganze Abfrage zu tippen. Es sollte nur beispielhaft sein und die Verschachtelung zu erkennen. Im richtigen Projekt habe ich es mit einzelnen Feldnamen.

Das andere wäre dann die Frage worin du deine Abfrage
schreibst... Direkt im SQL oder wird die aus einem Programm erzeugt?

Mit einem SQL-Programm.

In einem Programm kann man z.B. über einen Array gehen (wenn z.B.
deine select bla bla bla etwas wie "select id from benutzer"
ist -> dann mache ich die Abfrage einmal und speichere die IDs in
einem Array... schon spare ich 3 Abfragen).

Mir ist in reinem SQL leider kein Array bekannt!!

Alles weitere hängt vom genauen Tabellenaufbau und den
Anforderungen ab...

Sag mir was du wissen willst und ich sag es dir ;)


Ich nutze übrigens Oracle, falls es wichtig ist!

Danke dir und allen anderen!!
Bitte warten ..
Mitglied: Biber
23.04.2009, aktualisiert 18.10.2012
Moin Maik87,

auf eine erstaunlich ähnliche Frage hast Du doch schon einem guten zweidrittel Jahr mehrere Antworten bekommen in einem Deiner nach wie vor offenen Beiträge Letzter Datensatz eines bestimmten Kriteriums auslesen.

Ist doch hier die gleiche Mimik.

Grüße
Biber
Bitte warten ..
Mitglied: Netzheimer
04.05.2009 um 15:48 Uhr
Hallo.

Am besten schreibst du dir eine Funktion, die dir die gewünschten Inhalte von Select blabla zurückgibt. Du kannst an eine Funktion auch Parameter übergeben, wenn dies erforderlich sein sollte.

Die Online-Hilfe unter CREATE FUNCTION bietet hierzu sicher einige Möglichkeiten.
Bitte warten ..
Ähnliche Inhalte
Lizenzierung
Pervasive SQL 2000 Lizenzen für Novell Netware gesucht! (3)

Frage von Riki.G zum Thema Lizenzierung ...

Batch & Shell
gelöst Batch-Befehl oder Windows-Freeware-Tool gesucht zum Wandeln von ASCII in ANSI (8)

Frage von Sinzal zum Thema Batch & Shell ...

Datenbanken
SQL Befehle dynamisch ändern C Sharp und Access (5)

Frage von Judo99 zum Thema Datenbanken ...

Datenbanken
gelöst SQL Abfrage mit Visual Studio (5)

Frage von specialuser zum Thema Datenbanken ...

Neue Wissensbeiträge
LAN, WAN, Wireless

Schwachstelle im WPA2 Protokoll veröffentlicht

(3)

Information von colinardo zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte