UPDATE prendendo i dati da 2 tabelle

venerdì 16 maggio 2008 - 10.49

max1850 Profilo | Junior Member

Salve.
Ho una tabella (Modello) con 1 campo (v_products_name_4) che vorrei aggiornare. I dati per aggiornare questo campo li prendo dalla tabella ListinoPers.

La query è la seguente:

UPDATE Modello SET v_products_name_4 = ( SELECT ListinoPers.Nome FROM ListinoNET INNER JOIN ListinoPers ON ListinoNET.v_products_model = ListinoPers.CODDAT WHERE ( ( ( ListinoNET.v_products_model ) Is Null ) ) );

Le tabelle ListinoPers e ListinoNET hanno 1 unico campo in comune che è un codice, il quale è contenuto rispettivamente nei campi "CODDAT" e "v_products_model".

A me serve prendere tutti i codici che sono presenti in ListinoPers ma che non sono presenti in ListinoNET, ed inserire il Nome legato a questi codici nel campo v_products_name_4 della tabella Modello.

Ho provato questa query ma mi dice: "Per l'operazione è necessaria una query aggiornabile".
Come mai? La query sembra corretta...

Grazie
Max!

lbenaglia Profilo | Guru

>Ho provato questa query ma mi dice: "Per l'operazione è necessaria
>una query aggiornabile".
>Come mai? La query sembra corretta...

Ciao Max,

Che DBMS utilizzi?
Puoi postare un esempio completo con i comandi DDL delle tabelle (CREATE TABLE...), alcune righe di prova (INSERT INTO...) ed il result set finale che vuoi ottenere a partire da quei dati?

>Grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

max1850 Profilo | Junior Member

Ciao! Come dbms utilizzo Access e il linguaggio penso che si chiami T-SQL.
L'esempio completo non ce l'ho: ho solo 3 tabelle , ho fatto una maschera e stavo costruendo le query.
Le tabelle hanno già i campi e tutti i records tranne la tabella Modello, la quale deve prendere un campo dal confronto delle altre 2 tabelle, come ti ho scritto prima.

Ciao
Max!

Pongo Profilo | Senior Member

UPDATE Modello SET v_products_name_4 = ListinoPers.Nome
from ListinoNET INNER JOIN ListinoPers ON ListinoNET.v_products_model = ListinoPers.CODDAT WHERE ( ( ( ListinoNET.v_products_model ) Is Null ) ) );

Forse!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5