Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [SQL Server] LEFT JOIN su Sub Tabellla

    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.
    Scusatemi in anticipo per gli ORRORI di ortografica, ma sono analfabeta
    Electronic parts catalog
    Gestione cataloghi ricambio IPC
    Documentazione tecnica & manuali

  2. #2
    per abbreviare puoi usare la forma


    SELECT T1.Campo FROM tabella T1

    dove T1 è l'alias di tabella. come alias puoi usare quello che vuoi, ma almeno un carattere, sta a te bilanciare brevità e leggibilità

    inizia a sistemare la subquery poi vediamo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.