Selekt Problem auf Oracle 9i

Sorry das ich wieder nerve aber irgendwie will das nicht bring fehler....

PHP:
SELECT prod_name FROM t_pdz_product_diff where prod_name='LYSRV-TI1SSD' INTO temp temp_p;

SELECT * FROM temp_p 
UNION 
SELECT prod_name,opt_name,opt_class 
FROM t_must_opt 
WHERE prod_name IN ( SELECT prod_name FROM temp_p)
and opt_class in('DEF', 'FIX'); 

DROP TABLE temp_p;
2 Fehler:
SQL-command not properly ended
und
table or view does not exist
 
Kann erstmal nichts erkennen.

Ist das der gesamte Code?
Oder ist da schon ne Prozedur drum rum?
Heißen deine Tabellen auch wirklich so?
In welchen Zeilen werden die Fehler gemeldet?
 
Den Cursor müsstest du für dieses Select anwenden
SQL:
SELECT * FROM temp_p  
UNION  
SELECT prod_name,opt_name,opt_class  
FROM t_must_opt  
WHERE prod_name IN ( SELECT prod_name FROM temp_p) 
and opt_class in('DEF', 'FIX');

Evtl. musst du das drop auch erst später machen. Sollte es mit temp Tables trotzdem nicht funktionieren probier mal das:

SQL:
SELECT * FROM <produkte>  
UNION  
SELECT prod_name,opt_name,opt_class  
FROM t_must_opt  
WHERE prod_name IN ( SELECT prod_name FROM <produkte>) 
and opt_class in('DEF', 'FIX')
AND <produkt_id> = 'gesucht'
;

Hab ich glaub ich mal zu kompliziert gedacht :)
 
Also das mit tables will einfach net:confused:

Dein unteres beispiel klingt gut habs deswegen auch gleichmal getestet :)

PHP:
Cursor c_wk is
SELECT * FROM t_pdz_product_diff  
UNION  
SELECT prod_name,opt_name,opt_class  
FROM t_must_opt  
WHERE prod_name IN ( SELECT prod_name FROM t_pdz_product_diff) 
AND opt_class IN('DEF', 'FIX')
AND prod_name = pi_prod_name;

Error: PL/SQL: ORA-01789: query block has incorrect number of result columns
Line: 22
Text: SELECT * FROM t_pdz_product_diff


...:suspekt:
 
So geschafft es t vielen vielen Dank :)

Nun kommt noch ein 2 Problem (versprochen vorab letzte Frage :eek:)

Ich möchte mein Warenkorb so füllen das er immer überprüft wo das hinkommt:confused:
ich weiss blöd erklärt ich zeigs erstmal :)

PHP:
Beispiel:
Sq_no---------Prod_name--------Referer------Opt_flag
1.............Alphaprod..........       --.......    ...--
2.............Alphaopt1.......     ... 1.......    .... f
3.............Alphaopt2.......     ... 1.........    .. f
4.............Alphaopt2opt1..     ...3.........    .. f
5.............Betaprod ......      .... 1.......   .... f
6.............Gammaprod...... .... --......    .... --
7.............Betaopt1 ........     .. 5........    ... f

So nun kommt ein Produkt rein das angenommen Option von Alphaopt2 ist wie kann ich gewährleisten das es Hierarchiesch(Baumstruktur) oder wie man das auch immer nennt richtig eingefügt wird ?
z.b:
PHP:
8...........Alphaopt2opt2..........3................f
also die nächste sq-no ist klar dann zuordnen zu welchem produkt es gehört und dem entsprechend Referer setzten

Ich denke das ist eine komplexere Frage :suspekt:
 
Zuletzt bearbeitet:
Du kannst vorher nachschauen, was für ID's bereits vergeben sind und auf Ähnlichkeit überprüfen

SQL:
select referer from warenkorb
where <neuePostion> LIKE prod_name || '%'

Achtung: || und % sind vom DBMS abhängig, unter Access wäre es & und *

Auch hier halte ich dein Datenbankdesign wieder nicht für gelungen - eine Unterscheidung über "Namensbestandteile" ist - sorry - Dummfug.

Aber probier's mal - grundsätzlich sollte es so oder so ähnlich möglich sein.
 
Wie gesagt ist nicht meine Datenbank und den Design hab ich auch nicht aufgesetzt(!)

Kurze Frage was meinst du mit <neue Position> kannst mal vielleicht ein Beispiel geben weil ich jetzt bissle auf dem Schlauch sitze :suspekt:

...btw vielen Dank für deine Mühen
 
Zurück