php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
SQL Ergebnis - umkehren möglich?


 
tine_
10-08-2005, 16:06 
 
Hallo,

Wie der Titel schon sagt...

Ich mache ein select mit einem ...WHERE ID="210"

Ist es in SQL Möglich, alle datensätze auszugeben, welche eben nicht des Kriterium entsprechen?

Ich möchte das der SQL WHERE Zweig nicht verändert wird wie hier:


WHERE ID="210"


Ich würde nur gerne wissen, ob und wie es möglich ist, genau das andere ergebnis, also nicht das was dem Kriterium entspricht, auszugeben!
:-)

Danke und Grüße
Tine_

 
prego
10-08-2005, 16:08 
 
WHERE bla != 'blub'


!= entsprich "nicht" gleich - genauso wie <>...

 
tine_
10-08-2005, 16:22 
 
Danke für Deine ANtwort!
Leider war es nicht die ANtwort auf meine Frage... ;)

 
asp2php
10-08-2005, 16:25 
 
ohne die Abfrage anzurühren, aber ein anderes Ergebnis haben wollen ... sag mal ... geht dir sonst gut ... oder?

 
tine_
10-08-2005, 16:26 
 
Nochmal...
Ich will das der WHERE-Bereich, bsp WHERE Plan = "B" oder WHERE Name not in (select name von blub), NICHT verändert wird. Also dieser Teil soll so bleiben.

Die Frage von mir ist nun, ob es möglich wäre, irgendwie das select so zu bearbeiten, das ich eben genau die andere ergebnismenge bekomme, nicht die die true ergibt, sondern die die false ergibt! ;)

Gruß
_Tine

 
penizillin
10-08-2005, 16:38 
 
afaik gehts nicht.
vielleicht WHERE NOT (`id` = 210)?

 
tine_
10-08-2005, 16:42 
 
asp, bitte liess erstaml den Text... Ich habe nur den WHERE Bereich als unantastbar definiert...
Auf Deine Frage, ob es mir sonst noch gut geht, ja, ausser das meine Frage falsch verstanden wird. Du kannst so mit Deinen Kindern sprechen, aber bitte unterlass solch Anreden gegenüber unbekannten Usern. Danke

 
mrhappiness
10-08-2005, 16:49 
 
Wenn ich dir sage "Geh in den Supermarkt und hol mir alle Äpfel (= WHERE obst = 'apfel' / WHERE id = 210 ) aber hol mir nur Sachen, die keine Äpfel sind", was holst du mir dann?

 
tine_
10-08-2005, 16:52 
 
Es ist also nicht Möglich, das False Ergebnis einer Abfrage zu bekommen?

 
mrhappiness
10-08-2005, 16:55 
 
Original geschrieben von tine_
Es ist also nicht Möglich, das False Ergebnis einer Abfrage zu bekommen? Ohne die Bedingung zu modifizieren: Nein

Es sei denn, deine mySQL-Version beherrscht Subselects, dann känntest du sowas in der Art machen (Pseudocode)SELECT *
FROM tabelle
WHERE id NOT IN (SELECT id FROM tabelle WHERE id = 210)aber das ist Schwachfug hast du deinen WHERE-Teil zwar nicht angeteastet, aber einen neuen WHERE-TEIl außenrumgesetzt sicherlich auch anders besser zu lösen, warum soll der WHERE-Teil denn nicht angerührt werden?

 
tine_
10-08-2005, 17:04 
 
Dank Dir.

Es geht bei mir um MSAccess SQL *duck*

Ich habe eine Tabelle mit Kenntnisdaten:

Mitarbeiter_NR
Kenntnis

Bsp:
0001, HTML
0001, PHP
0001, Access
0002, HTML
0002, ABAP
0003, Access
0003, HTML

Dann habe ich eine tmp Tabelle, welche in einem Formular mit
Kenntniswerten gefüllt wird...

Bsp:
HTML
ABAP

Jetzt klicke ich auf einen Button welcher mir nun den Mitarbeiter mit
der ID 0002 ausspucken soll. Ich wollte das mit einer Unterabfrage lösen...



where = "WHERE [tblKntMitarbeiter].[Knt] = ALL (SELECT * FROM tbl_tmp_knt)"

sql = "SELECT
DISTINCT [MITARBEITER].[Mitarbeiter_ID], [MITARBEITER].[Name], [MITARBEITER].[Vorname]
FROM tblKntMitarbeiter
INNER JOIN MITARBEITER ON [tblKntMitarbeiter].[Mitarbeiter_ID]=[MITARBEITER].[Mitarbeiter_ID] " + where + " ; "




Ich habe is mit ALL, IN, ANY usw probiert, das funktioniert so aber
leider nicht! Ich weiss auch nciht wie das gehen sollte, bzw. ob das
ueberhaupt NUR mittels SQL lösbar wär... ansonsten muss ich mich an eine VBA lösung machen :-)

 
prego
10-08-2005, 17:25 
 
Ok, da hab ich dich falsch verstanden...

Nur was spricht dagegen die Where Bedingung zu ändern?

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:01 Uhr.