LEFT JOIN su Sub Tabellla

giovedì 22 aprile 2010 - 08.16

ciodof Profilo | Newbie

Salve, in un applicativo basato su DB Access utilizzo questa Query con esito positivo :

SELECT * FROM [SELECT Albero_Web.Key_Prodotto AS Albero_Web_Key_Prodotto,* FROM Albero_Web WHERE Albero_Web.Profondita_Nodo=1 AND ( Albero_Web.Key_Mercato LIKE '%/1/%' OR Albero_Web.Key_Mercato IS Null OR Albero_Web.Key_Mercato='' ) AND (Albero_Web.Key_Gruppo IS Null OR Albero_Web.Key_Gruppo='') ORDER BY Albero_Web.Ordine ASC ]. AS T_Node_Data LEFT JOIN Data_Nodo ON T_Node_Data.Albero_Web_Key_Prodotto=Data_Nodo.Key_Prodotto;

Ora eseguendo la stessa su SQL Server 2005, ma con esiti negativi.
Ovvero in prima istanza mi genera l'errore errore :
"La lunghezza del valore identificatore che inizia con 'SELECT Albero_Web.Key_Prodotto AS Albero_Web_Key_Prodotto,* FROM Albero_Web WHERE ( Albero_Web.Percorso = '|R|' OR Albero_Web. è eccessiva. La lunghezza massima consentita è 128. "

Se riduco la lunghezza della query che genera la sub tabella in :
SELECT * FROM [SELECT Albero_Web.Key_Prodotto AS Albero_Web_Key_Prodotto,* FROM Albero_Web ]. AS T_Node_Data LEFT JOIN Data_Nodo ON T_Node_Data.Albero_Web_Key_Prodotto=Data_Nodo.Key_Prodotto;
l'errore generato mi cambia in :
"Sintassi non corretta in prossimità della parola chiave 'AS'. "

Se modifico nuovamente la query in :
SELECT * FROM [SELECT Albero_Web.Key_Prodotto AS Albero_Web_Key_Prodotto,* FROM Albero_Web ] AS T_Node_Data LEFT JOIN Data_Nodo ON T_Node_Data.Albero_Web_Key_Prodotto=Data_Nodo.Key_Prodotto;
eliminando il "." dopo le quadre che mi identificao la quesry della sub tabella, l'errore generato mi cambia in :
"Il nome di oggetto 'SELECT Albero_Web.Key_Prodotto AS Albero_Web_Key_Prodotto,* FROM Albero_Web ' non è valido."

Non vorrei che la definizione iniziale della mia sub tabella generata dalla query annidata si errata.

Come connettori al SQL Server 2005 utilizzo gli ADODB.Recordset.
Grazie a tutti anticipatamente.

Klaus-zanini Profilo | Senior Member

Non vorrei sbagliare ma credo che il problema siano le parentesi quadre...
hai provato a mettere la SUBQuery dentro a parentesi tonde e cancellare il puntino alla fine?
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