PDA

Vollständige Version anzeigen : Abfrage


wein234
22.03.2004, 13:34
Hallo,
folgende SQL führt zu keinem Ergebnis.
Ich habe ein sog. Schema das mehrere ARTNR enthält. Ich möchte mit der Abfrage erreichen, dass alle Schema's angezeigt werden die diese ARTNR enthalten.
SELECT tblSchemaZeilen.TSARTNR
FROM tblSchemaZeilen
WHERE (((tblSchemaZeilen.TSARTNR)=76)) AND
(((tblSchemaZeilen.TSARTNR)=34)) AND
(((tblSchemaZeilen.TSARTNR)=78)) AND
(((tblSchemaZeilen.TSARTNR)=69));
was ist falsch ?
Gruss

Arne Dieckmann
22.03.2004, 13:36
Ersetze AND durch OR ... .

wein234
23.03.2004, 13:08
Hallo Arne,
wenn ich AND durch OR ersetze funktioniert es. Ich brauche aber die Möglichkeit mit AND. Ich will wissen, in welchen Schema's die Artikel A,B und C vorkommen. Wie kann man das in A97 evtl. mit einer oder mehreren Abfragen lösen ?
Gruss

Arne Dieckmann
23.03.2004, 13:12
Ja - wie jetzt? Wie soll das denn mit AND gehen ...? Ich scheine Dein Vorhaben nicht so ganz zu verstehen. :o

Ein Artikel kann nur =1 oder =2 sein, aber niemals gleichzeitig =1 und =2.


Kannst Du evtl. ein paar Beispieldaten in Tabellenform und das gewünschte Ergebnis dazu hier darstellen?

wein234
23.03.2004, 13:30
Hallo,
das ist schon richtig. Ich versuch's nochmal. Ich habe verschiedene Schema's und ein Schema kann aus mehreren Artikel bestehen. Man will jetzt wissen, wo die Artikel A, B und C in den Schema's vorkommen. Also Artikel A, B und C kann in Schema 1; 3 und und vorkommen. Über eine Suchfunktion sollen dann diese Schema-Nr. angezeigt werden, welche die Artikel enthalten !
Ich hoffe es ist verständlich, ansonsten lade ich ein Beispiel hoch.
Gruss

Arne Dieckmann
23.03.2004, 13:36
Hm. Langsam drehen wir uns im Kreis. Was ich mir jetzt vorstelle, was Du suchst:

Schema Artikel
1 A
1 B
1 C
1 D 'dieser DS wäre kein Ausschlusskriterium
2 A
2 B
2 F
2 G



Schema 1 soll angezeigt werden, weil die Artikel A, B und C dafür erfasst wurden. Schema 2 nicht, weil nur A und B erfasst wurden. Wenn es das immer noch nicht ist, musst Du eine entsprechende Darstellung wie oben wählen, dass auch ich es kapiere.

wein234
23.03.2004, 14:04
Hallo,
ja genau. Je mehr Artikel ich zum Suchen eingebe umso kleiner wird die
Ergebnisliste.
Gruss

Arne Dieckmann
23.03.2004, 14:22
Vorausgesetzt Du hast ein Feld namens "SchemaID" oder dgl. könnte es mit einer Unterabfrage gehen:

SELECT tblSchemaZeilen.SchemaID, tblSchemaZeilen.TSARTNR
FROM tblSchemaZeilen
WHERE (Select Count (*) FROM [tblSchemaZeilen] as Temp
WHERE ([Temp].[TSARTNR] = 34 OR [Temp].[TSARTNR] = 69 OR
[Temp].[TSARTNR] = 76 OR [Temp].[TSARTNR] = 79 )
AND [Temp].[SchemaID]=[tblSchemaZeilen].[SchemaID])>=4;


Das Kriterium >=4 richtet sich nach der Anzahl der Kriterien.

wein234
23.03.2004, 14:33
Hallo Arne,
danke für Deine Antwort. Ich probiers mal .
Gruss