Ich habe Probleme mit der folgenden Abfrage.Problem mit dem Erstellen von Oracle-Abfrage
id| prop_id| obj_id| value|
1 7 2 1
2 8 2 1
4 7 5 7
5 8 5 12
Eingangsparameter auf die Abfrage, sind:
- Sammlung von (prop_id, value) Paaren
Wir müssen Datensätze auswählen, deren prop_id
und values
Spiel Eingangsparameter: aber es ist auch eine Einschränkung, die obj_id
der resultierenden Datensätze müssen gleich sein. Wenn es nicht identisch ist, muss das Ergebnis leer sein. Andernfalls muss obj_id
zurückgegeben werden.
Beispiel:
der Eingangsparameter Lassen Sie sagen, sind: (7,1) und (8,12).
Jetzt gibt es zwei Datensätze mit solchen Werten: erste und letzte. Jedoch ist obj_id
des ersten Datensatzes 2 und obj_id
des zweiten Datensatzes ist 5. Daher muss das Ergebnis leer sein, weil 2! = 5.
Ein weiteres Beispiel:
Lasst uns sagen Eingabeparameter sind: (7,7) und (8,12).
Jetzt gibt es zwei Datensätze mit solchen Werten: letzten zwei Datensätze. obj_id
der ersten 5 und obj_id
der zweiten Aufzeichnung auch 5. Daher ist, muss das Ergebnis 5.
Thank versuchen, aber ich Problem habe. Dies ist die Ausgabe, die ich nach dieser Abfrage bekomme: ORA-00920: ungültiger relationaler Operator –
Das war meine Abfrage: "select OBJECT_ID aus COMP_INFO.OBJECT_VALUES wo (PROPERTY_ID, VALUE_INT) in (7,7) oder (PROPERTY_ID, VALUE_INT) in (8,12) Gruppe nach OBJECT_ID mit Anzahl (*) = 2 und Anzahl (eindeutige OBJECT_ID) = 1 " –
Ok. Sehen Sie sich die bearbeitete Abfrage an. Das sollte gut funktionieren – Madhivanan