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

Kurzschreibweise für SQL-Befehl gesucht

Frage Entwicklung Datenbanken

Mitglied: Maik87

Maik87 (Level 2) - Jetzt verbinden

23.04.2009, aktualisiert 18.10.2012, 4201 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 ...

Novell Netware
Pervasive.SQL V7 für NetWare - Lizenzen gesucht (2)

Frage von bidlabu zum Thema Novell Netware ...

Datenbanken
gelöst SQL ORDER BY und Join mit 2 Tabellen (6)

Frage von Dipps zum Thema Datenbanken ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(4)

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

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (41)

Frage von Datsspeed zum Thema Exchange Server ...

Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

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

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