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 and not

Frage Entwicklung Datenbanken

Mitglied: Badger

Badger (Level 2) - Jetzt verbinden

31.03.2014 um 20:11 Uhr, 1163 Aufrufe, 7 Kommentare

Hallo Leute,

ich weiß, dass es unter SQL den Befehl "and not" nicht gibt.
Dennoch bin ich auf der Suche, wie ich so etwas realisieren kann:

SELECT * from Tabelle WHERE a = 1 and b = 2 and (c != 1 and d != 1)
Also ich will alle Daten, wo a = 1 ist, b = 2 ist und c und d gemeinsam nicht 1 sind (also in dieser Kombination).

Wie kann ich das lösen?

Mit der Methode oben (Klammern und and) funktioniert es nicht.


Herzlichen Dank

Patrick
Mitglied: Xaero1982
31.03.2014 um 20:44 Uhr
Hi,

versuch mal das:

01.
SELECT * FROM Tabelle WHERE a = 1 AND b = 2 AND (NOT c= 1) and (NOT d = 1)
Vielleicht gehts auch ohne den zweiten Klammern...
01.
SELECT * FROM Tabelle WHERE a = 1 AND b = 2 AND (NOT c= 1 and d = 1)
Gruß
Bitte warten ..
Mitglied: LianenSchwinger
01.04.2014 um 08:58 Uhr
Hallo Patrick,

es geht mit

01.
SELECT * FROM Tabelle WHERE a = 1 AND b = 2 AND NOT(c = 1 OR d = 1)
Gruß Jörg
Bitte warten ..
Mitglied: WinCobold
01.04.2014 um 15:57 Uhr
Hallo Patrick,

die zweite Lösung von Xaero1982 wird wohl eher nicht das gewünschte Ergebnis bringen, aber seine erste und die von Jörg schon.

Und "ungleich" kannst du in SQL normalerweise mit "<>" abfragen, also

01.
SELECT * from Tabelle WHERE a = 1 and b = 2 and c <> 1 and d <> 1
Gruß vom WinCobold
Bitte warten ..
Mitglied: LianenSchwinger
01.04.2014 um 16:23 Uhr
Hallo WinCobold,

unter Oracle ist != die gängige Variante für Ungleichheit.

Wobei ich nicht verstehe wieso beim TO die Abfrage nicht das gewünschte Ergebnis bringt?!?

c und d müssen ungleich 1 sein und a = 1 und b = 2 damit die Verknüpfung 1 wird

Ich habe nur die Variante mit dem OR gebracht damit sein Wunsch "AND NOT" erfüllt ist.

G Jörg
Bitte warten ..
Mitglied: Badger
01.04.2014 um 17:13 Uhr
Herzlichen Dank für eure Antworten.

Ich bin ganz verwundert, dass es AND NOT doch gibt.
Ich habe gestern etwas gegoogelt und dazu nur Beiträge gefunden wo geschrieben stand, dass es dies so nicht gibt.

der Code:
SELECT * FROM Tabelle WHERE a = 1 AND b = 2 AND NOT(c = 1 AND d = 1)
funktioniert bei mir genau wie gewünscht.

Danke für eure Hilfe!

Patrick
Bitte warten ..
Mitglied: Xaero1982
01.04.2014 um 17:16 Uhr
Schön, dann bitte noch auf gelöst setzen

Gruß
Bitte warten ..
Mitglied: WinCobold
02.04.2014 um 15:47 Uhr
Hallo Jörg,

da bin ich wohl nicht ganz auf dem aktuellen Stand. Die Variante mit "<>" funktioniert aber (zumindest meiner Erfahrung nach) auch mit anderen Datenbanken. Außerdem hatte ich ein meiner Naivität gedacht, Patrick hätte seine Version schon ausprobiert und als fehlerhaft erkannt.

Und das mit dem "AND NOT" hatte ich nicht als Wunsch, sondern als Fehlinformation aufgefasst. Vielleicht hat er "NOT =" gemeint?

So oder so, Patrick hat eine Lösung, die noch dazu seinem wirklichen Wunsch (im Text) entspricht, nicht seinem SQL-Statement, und das war ja der Zweck des Ganzen.

WinCobol
Bitte warten ..
Ähnliche Inhalte
E-Mail
Lotus Notes 8.3.5 Deinstallation (5)

Frage von Hendrik2586 zum Thema E-Mail ...

Vmware
gelöst ESXi Host not responding (6)

Frage von chhadm zum Thema Vmware ...

Windows 10
Sticky Notes - Autostart unterbinden (3)

Tipp von Pedant zum Thema Windows 10 ...

Windows Server
SQL-Errorlogs (3)

Frage von kellbidden zum Thema Windows Server ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (58)

Frage von pjrtvly zum Thema Internet ...

DSL, VDSL
VDSL Signal via PowerLine an Fritzbox - Möglich? (19)

Frage von Seichobob zum Thema DSL, VDSL ...

Windows Server
Benutzer sperrt sich immer wieder im Active Directory Contoller (16)

Frage von Kirdy1301 zum Thema Windows Server ...