Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 33
  1. #1
    Utente di HTML.it L'avatar di mahimo
    Registrato dal
    Feb 2003
    Messaggi
    251

    select su 3 tabelle (ed estrazione dati)

    buon venerdì
    dopo una select su più tabelle, quando estraggo i dati, è possibile specificare la cartella dalla quale voglio estrarli?

    mi spiego meglio...
    in una pagina "modifica_destinazione" mi devo collegare a 3 tabelle: destinazioni, stati, aree e devo quindi visualizzare tutti i dati che sono collegati.

    ...il fatto è che nelle tabelle sono presenti campi con lo stesso nome:
    tra parentesi scrivo il tipo di valore contenuto

    tab. destinazioni
    id_destinazione | destinazione | stato(id_stato) | area(id_area)

    tab. stati
    id_stato | stato | area(id_area)

    tab. aree
    id_area | area

    sto facendo in questo modo:
    recupero l'id_destinazione tramite querystring, e poi faccio una select su più tabelle:
    codice:
    strSQL = "SELECT destinazioni.id_destinazione, destinazioni.destinazione, destinazioni.stato, destinazioni.area, stati.id_stato, stati.stato, stati.area, aree.id_area, aree.area FROM destinazioni, stati, aree WHERE destinazioni.id_destinazione = "&id_destinazione&" AND destinazioni.stato = stati.id_stato AND stati.area = aree.id_area"
    è possibile fare una cosa del tipo:

    codice:
    'in una situazione normale
    stato= rs("stato")
    
    'in questa situazione
    cippa1= rs("stati.stato")
    cippa2= rs("stati.area")
    cippa3= rs("aree.id_area")
    cippa4= rs("aree.area")
    la struttura della select (anche come visualizzazione) vi sembra corretta/incasinata/migliorabile(sicuramente...)?
    ...tra tutte le modifiche che ho fatto sto cominciando ad andare in pappa...
    avete qualche consiglio? :master:

  2. #2
    Usa gli ALIAS nella SQL.

  3. #3
    Utente di HTML.it L'avatar di mahimo
    Registrato dal
    Feb 2003
    Messaggi
    251
    Originariamente inviato da Mems
    Usa gli ALIAS nella SQL.
    ok, per quello dovrei aver risolto così:
    codice:
    strSQL = "SELECT * FROM destinazioni AS d, stati AS s, aree AS a "&_
    		 "WHERE d.id_destinazione = "&id_destinazione&" AND d.stato = s.id_stato AND s.area = a.id_area"
    ... ma per diversificare dopo?

    ho provato così ma non mi restituisce nessun valore...
    codice:
    'DA DESTINAZIONI
    DESTINAZIONI_id_destinazione= rs("d.id_destinazione")
    DESTINAZIONI_destinazione= rs("d.destinazione")
    DESTINAZIONI_stato= rs("d.stato")
    DESTINAZIONI_area= rs("d.area")
    
    'DA STATI
    STATI_id_stato= rs("s.id_stato")
    STATI_stato= rs("s.stato")
    STATI_area= rs("s.area")
    
    'DA AREE
    AREE_id_area= rs("a.id_area")
    AREE_area= rs("a.area")
    nun se po 'ffà? :master:

  4. #4
    codice:
    sql = "SELECT a.pippo AS p1, b.pippo AS p2 FROM tab1 a, tab2 b"
    
    response.write rs("p1")
    response.write rs("p2")

  5. #5
    Utente di HTML.it L'avatar di mahimo
    Registrato dal
    Feb 2003
    Messaggi
    251
    Originariamente inviato da Mems
    codice:
    sql = "SELECT a.pippo AS p1, b.pippo AS p2 FROM tab1 a, tab2 b"
    
    response.write rs("p1")
    response.write rs("p2")
    uhm... .... grazie Mems!
    se ho capito bene quindi utilizzo gli alias anche per i singoli campi, giusto?
    ora cibo, dopo provo e ti faccio sapere, grazie ancora

  6. #6
    Utente di HTML.it L'avatar di mahimo
    Registrato dal
    Feb 2003
    Messaggi
    251
    ho provato in questo modo (mi sembra tutto ok)

    codice:
    strSQL = "SELECT "&_
              "d.id_destinazione AS DESTINAZIONI_id_destinazione, "&_
    	  "d.destinazione AS DESTINAZIONI_destinazione, "&_
    	  "d.stato AS DESTINAZIONI_stato, "&_
    	  "d.area AS DESTINAZIONI_area, "&_
    	  "s.id_stato AS STATI_id_stato, "&_
    	  "s.stato AS STATI_stato, "&_
    	  "s.area AS STATI_area, "&_  
    	  "a.id_area AS AREE_id_area, "&_
    	  "a.area AS AREE_area, "&_
    	  "FROM destinazioni AS d, stati AS s, aree AS a "&_
    	  "WHERE DESTINAZIONI_id_destinazione = "&id_destinazione&" AND DESTINAZIONI_stato = STATI_id_stato AND STATI_area = AREE_id_area"
    poi provo a recuperare il valore in alcune variabili

    codice:
    'DA DESTINAZIONI
    DESTINAZIONI_id_destinazione= rs("DESTINAZIONI_id_destinazione")
    DESTINAZIONI_destinazione= rs("DESTINAZIONI_destinazione")
    DESTINAZIONI_stato= rs("DESTINAZIONI_stato")
    DESTINAZIONI_area= rs("DESTINAZIONI_area")
    
    'DA STATI
    STATI_id_stato= rs("STATI_id_stato")
    STATI_stato= rs("STATI_stato")
    STATI_area= rs("STATI_area")
    
    'DA AREE
    AREE_id_area= rs("AREE_id_area")
    AREE_area= rs("AREE_area")
    ma l'errore è:

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [MySQL][ODBC 3.51 Driver][mysqld-4.1.21-standard-log]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM destinazioni AS d, stati AS s, aree AS a WHERE DESTINAZIONI_id_destinazione' at line 1

    /.../.../destinazioni_modifica.asp, line 70

    eppure mi sembra tutto corretto....

  7. #7
    Forse gli ALIAS su mySQL si fanno diversamente... cerca su google
    ALIAS mySQL

  8. #8
    Utente di HTML.it L'avatar di mahimo
    Registrato dal
    Feb 2003
    Messaggi
    251
    ok ho notato un errore... la virgola

    strSQL = "SELECT "&_
    "d.id_destinazione AS DESTINAZIONI_id_destinazione, "&_
    "d.destinazione AS DESTINAZIONI_destinazione, "&_
    "d.stato AS DESTINAZIONI_stato, "&_
    "d.area AS DESTINAZIONI_area, "&_
    "s.id_stato AS STATI_id_stato, "&_
    "s.stato AS STATI_stato, "&_
    "s.area AS STATI_area, "&_
    "a.id_area AS AREE_id_area, "&_
    "a.area AS AREE_area, "&_
    "FROM destinazioni AS d, stati AS s, aree AS a "&_
    "WHERE DESTINAZIONI_id_destinazione = "&id_destinazione&" AND DESTINAZIONI_stato = STATI_id_stato AND STATI_area = AREE_id_area"

    ora però il messaggio è:

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
    [MySQL][ODBC 3.51 Driver][mysqld-4.1.21-standard-log]Unknown column 'DESTINAZIONI_id_destinazione' in 'where clause'
    /.../.../destinazioni_modifica.asp, line 70

    sembra che non riconosca l'alias delle colonne...

  9. #9
    Si, la virgola li non ci vuole.

  10. #10
    Utente di HTML.it L'avatar di mahimo
    Registrato dal
    Feb 2003
    Messaggi
    251
    ho sistemato la riga col WHERE, in questo modo non da errori, ma non da nessun risultato

    codice:
    strSQL = "SELECT "&_
              "d.id_destinazione AS DESTINAZIONI_id_destinazione, "&_
    	  "d.destinazione AS DESTINAZIONI_destinazione, "&_
    	  "d.stato AS DESTINAZIONI_stato, "&_
    	  "d.area AS DESTINAZIONI_area, "&_
    	  "s.id_stato AS STATI_id_stato, "&_
    	  "s.stato AS STATI_stato, "&_
    	  "s.area AS STATI_area, "&_  
    	  "a.id_area AS AREE_id_area, "&_
    	  "a.area AS AREE_area "&_
    	  "FROM destinazioni AS d, stati AS s, aree AS a "&_
    	  "WHERE d.id_destinazione = "&id_destinazione&" AND d.stato = s.id_stato AND s.area = a.id_area"
    sto cercando per gli alias, un passetto alla volta e spero di arrivarci....

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.