Impossibile associare l'identificatore in più parti....

giovedì 11 novembre 2010 - 11.31

trinity Profilo | Guru

Ragazzi non riesco a capire ho scritto questa query e mi da l'errore: Impossibile associare l'identificatore in più parti

UPDATE dbo.V_STATI set siglanaz =(select siglanaz from NazioniPS) where dbo.V_STATI.Desc_nazione=NazioniPS.Descrizione

ho provato anche così:

UPDATE dbo.V_STATI set siglanaz =(select siglanaz from NazioniPS) where dbo.V_STATI.Desc_nazione=NazioniPS.[Descrizione]

ma sempre stesso messaggio

unica differenza tra le due tabelle è che la colonna V_Stati.Desc_nazione è di tipo nvarchar mentre la colonna NazioniPS.Descrizione è di tipo varchar

sapete dirmi dove sbaglio?

Ciao e grazie
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

lbenaglia Profilo | Guru

>sapete dirmi dove sbaglio?
Semplicemente quella sintassi è errata.
Questo comando di UPDATE dovrebbe essere corretto:

UPDATE S SET S.siglanaz = N.siglanaz FROM dbo.V_STATI AS S JOIN dbo.NazioniPS AS N ON S.Desc_nazione = N.Descrizione;


>Ciao e grazie
Prego.

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

trinity Profilo | Guru

Wow
Grazie mille Lorenzo, funge tutto !!!
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

jhonny.blade Profilo | Newbie

Buongiorno e ben trovati.
Mi sono iscritto da poco perchè ho trovato risposte ad un problema simile al mio.

Premetto che non sono un programmatore ma un analista (ciclo passivo/attivo, cicli di produzione etc...) e quindi, se posso essere utile in merito... a disposizione.
Anch'io ho questa problematica e, evidentemente, le mie cognizioni di sql non sono ancora sufficienti per risolverle.
La mia query di update è fatta così:

update offerta_elencoprezzi
SET offerta_elencoprezzi.[costo_industriale] = _TabellaPerIncollare.[EURO]
where _TabellaPerIncollare.CODICE_COMMESSA = OFFERTA_ELENCOPREZZI.CODICE_COMMESSA AND
_TabellaPerIncollare.CODICE_EP = OFFERTA_ELENCOPREZZI.CODICE_EP

Cioè voglio aggiornare nella tabella offerta_elencoprezzi, il campo costo_industriale con il valore della tabella _tabellaperincollare contenuto nel campo Euro. Non ho ben capito l'uso degli alias che avete indicato nel post precedente.
Mi restituisce il famoso errore 4104

Concludo dicendo che, dato che dovrò imparare ad usare anche crystal report (e la vedo molto brutta) sarei disposto anche a fare un corso online (con condivisione desktop) a pagamento.

Vi ringrazio

lbenaglia Profilo | Guru

>La mia query di update è fatta così:
>
>update offerta_elencoprezzi
>SET offerta_elencoprezzi.[costo_industriale] = _TabellaPerIncollare.[EURO]
>where _TabellaPerIncollare.CODICE_COMMESSA = OFFERTA_ELENCOPREZZI.CODICE_COMMESSA
>AND
>_TabellaPerIncollare.CODICE_EP = OFFERTA_ELENCOPREZZI.CODICE_EP

Ciao,

Riscrivila in questo modo:

UPDATE O SET O.[costo_industriale] = T.EURO FROM dbo.OFFERTA_ELENCOPREZZI AS O JOIN dbo.[_TabellaPerIncollare] AS T ON O.CODICE_COMMESSA = T.CODICE_COMMESSA AND O.CODICE_EP = T.CODICE_EP;

>Vi ringrazio
Prego.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

ik2wxx Profilo | Newbie

.
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