Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374

    Query su più tabelle con colonne in comune

    Devo eseguire una query su 6 tabelle dello stesso database, solo che in comune hanno lo stesso campo id (si completano). Vorrei evitare di fare una query separata per ciascuna tabella...come devo fare?
    "Se la montagna vien da te,
    e tu non sei Maometto,
    allora scappa, potrebbe essere una frana!"

  2. #2
    Mmm non so se ne supporta 6 ma fino a 3 son sicuro le regge.
    Fai così:

    SELECT .... FROM tabella1, tabella2, tabella3, tabella4, ....
    Matrix è ovunque, è intorno a noi, anche adesso nella stanza in cui siamo. È quello che vedi quando ti affacci alla finestra o quando accendi il televisore. L'avverti quando vai al lavoro, quando vai in chiesa, quando paghi le tasse. È il mondo che ti è stato messo dinanzi agli occhi, per nasconderti la verità.

  3. #3
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Per leggerle le legge, ma essendoci il campo IP in tutte e 6 mi da questo errore:
    codice:
    Tipo di errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
    [Microsoft][Driver ODBC Microsoft Access] Il riferimento al campo specificato 'id' potrebbe essere relativo a più tabelle elencate nella proposizione FROM dell'istruzione SQL.
    /camp3000/dettagli.asp, line 14
    "Se la montagna vien da te,
    e tu non sei Maometto,
    allora scappa, potrebbe essere una frana!"

  4. #4
    sql = "SELECT tabella1.campo1, tabella2.campo2, tabella2.campo1 FROM tabella1, tabella2"

  5. #5
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    manca la condizione di unione
    dovresti scrivere

    sql = "SELECT tabella1.campo1, tabella2.campo2, tabella2.campo1 FROM tabella1, tabella2,tabella3,tabella4,tabella5,tabella6 where tabella1.id = tabella2.id and tabella1.id = tabella3.id and tabella1.id = tabella4.id and tabella1.id = tabella5.id and tabella1.id = tabella6.id"
    Forza la magica ROMA

  6. #6
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    codice:
    "SELECT campeggi.*, servizi.*, servizi2.*, servizi3.*, 
    servizi4.*, downloads.* FROM campeggi, servizi, servizi2, 
    servizi3, servizi4, downloads WHERE campeggi.id = servizi.id 
    AND campeggi.id = servizi2.id AND campeggi.id = servizi3.id 
    AND campeggi.id = servizi4.id AND campeggi.id = downloads.id 
    = '%"&indirizzo&"%'"
    Ho scritto così, però quando la pagina va a cercare mi da
    Tipo di errore:
    ADODB.Field (0x80020009)
    Il record corrente corrisponde all'inizio o alla fine del file oppure è stato eliminato.
    Per eseguire l'operazione richiesta è necessario disporre di
    un record corrente.
    /camp3000/dettagli.asp
    Questo succede sono se metto "=", e non LIKE. E' necessario che sia uguale perchè è una pagina di dettagli che richiama una sola riga della tabella,
    e deve corrispondere esattamente all'id per tutte e 6 le tabelle...
    "Se la montagna vien da te,
    e tu non sei Maometto,
    allora scappa, potrebbe essere una frana!"

  7. #7
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    non capisco questa parte
    "........campeggi.id = downloads.id
    = '%"&indirizzo&"%'"

    comunque prova così

    strtSQl = "SELECT campeggi.*, servizi.*, servizi2.*, servizi3.*, " _
    & " servizi4.*, downloads.* FROM campeggi left join servizi on (campeggi.id = servizi.id) " _
    & " left join servizi2 on ( campeggi.id = servizi2.id ) left join servizi3 on (campeggi.id = servizi3.id) " _
    & " left join servizi4 on (campeggi.id = servizi4.id ) left join downloads on (campeggi.id = downloads.id ) " _
    & " WHERE campeggi.indirizzo = '%"&indirizzo&"%' "


    la where "WHERE campeggi.indirizzo = '%"&indirizzo&"%'"
    non sò se è giusta
    '%"&indirizzo&"%' con cosa dovevi confrontarlo ?
    Forza la magica ROMA

  8. #8
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Serve a recuperare l'indirizzo della pagina, che di default è 1

    codice:
    Dim rs
    Dim idurl
    idurl = "1"
    If (Request.QueryString("idurl")   <> "") Then 
      idurl = Request.QueryString("idurl")  
    End If
    ********
    ********
    rs.Source = "SELECT campeggi.*, servizi.*, servizi2.*, servizi3.*, servizi4.*, downloads.* FROM campeggi, servizi, servizi2, servizi3, servizi4, downloads"
    "Se la montagna vien da te,
    e tu non sei Maometto,
    allora scappa, potrebbe essere una frana!"

  9. #9
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    Originariamente inviato da Grinder
    Serve a recuperare l'indirizzo della pagina, che di default è 1
    che vuol dire ?
    è un campo di una tabella ?
    Forza la magica ROMA

  10. #10
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Vedi sopra
    "Se la montagna vien da te,
    e tu non sei Maometto,
    allora scappa, potrebbe essere una frana!"

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.