2016-06-06 8 views
0

Ich versuche, eine Reihe von Daten einschließlich weiblich und männlich in 50 Staaten auszuwählen. Allerdings muss ich 5 Staaten mit weiblichen und männlichen, und einen Staat mit weiblichen ausschließen. Ich bin mir nicht sicher, wie ich zwei Bedingungen in einer while-Anweisung habe.SQL Select-Anweisung

Unten ist die einfache Version des Codes. Die letzte Zeile des Codes ist eindeutig falsch.

Ich möchte sagen "Ich möchte Daten ausschließen, wenn State-Code ist OR, CA, WA, OH und VA", auch "Ich möchte Daten ausschließen, wenn State-Code DC und Geschlecht ist weiblich".

Ich hoffe, Sie können verstehen, was ich zu fragen versuche. Jeder Rat würde sehr geschätzt werden. Vielen Dank!

SELECT * FROM dataset 
WHERE state_code NOT IN ('OR','CA','WA','OH','VA) 
AND (state_code <> DC AND gender <> female) 
+0

Only zitieren zitieren Sie wählen SELECT * FROM Datensatz WHERE state_code NICHT IN ('ODER', 'CA', 'WA', 'OH', 'VA) UND (state_code <>' DC 'UND Geschlecht <> 'weiblich') – scaisEdge

Antwort

2

Dies ist die wörtliche Übersetzung Ihrer Bedingungen, die ich denken kann:

SELECT * FROM dataset 
WHERE state_code NOT IN ('OR','CA','WA','OH','VA') 
AND NOT (state_code = DC AND gender = 'female') 
; 

Es logisch äquivalent zu Remi Antwort ist, wie NOT (X AND Y) die gleiche wie (NOT X OR NOT y) ist.

+0

Ich habe es gerade versucht und es hat funktioniert. Fantastisch! Danke vielmals! –

0

Diese shoult korrekt sein:

SELECT * FROM-Datensatz WHERE state_code NOT IN ('DC', 'OR', 'CA', 'WA', 'OH', 'VA') OR (state_code == 'DC' und Geschlecht == männlich)

+0

Das würde "DC female" nicht herausfiltern, da sie nicht in der "NOT IN" -Liste sind. – Uueerdo

+0

Sie haben Recht, bearbeitet – Marco

1

Hier ist die korrigierte Abfrage:

SELECT * FROM dataset 
WHERE state_code NOT IN ('OR','CA','WA','OH','VA') 
AND (state_code != 'DC' OR gender != 'female'); 

die WHERE state_code NOT IN ('OR','CA','WA','OH','VA') Linie schließt 5 state_code und dieDie Linieschließt Frauen aus, die im "DC" -Staat leben.

+0

Es hat funktioniert !! Ich danke dir sehr! :) –