Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    262

    Inner join tra + tabelle

    Salve a tutto il forum!
    il mio problema è che non riesco a far bene una inner join.
    esattamente il problema è che mi viene visualizzato sempre il primo record.
    le tbl interessate sono 2

    modelli
    caratteristiche

    questa è la sql
    codice:
    sql=" SELECT MARCA.MARCA, MODELLO.MODELLO, CARATTERISTICHE.ALIMENTAZIONE, CARATTERISTICHE.PREZZO, CARATTERISTICHE.POTENZA, CARATTERISTICHE.ANNO FROM (MARCA INNER JOIN MODELLO ON MARCA.ID = MODELLO.MARCA) INNER JOIN CARATTERISTICHE ON MODELLO.ID = CARATTERISTICHE.MODELLO where modello.id like '%"&modello&"' "
    E' necessario altro codice o dettaglio sulle tbl?
    help, pleaz

  2. #2
    Il primo record possiede i requisiti per essere visualizzato (quelli definiti dalla clausola where)?

    Esistono altri records che li possiedono?

    Se entrambe le risposte sono "sì", mostra il codice che usi per visualizzare i records nella pagina .asp.
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  3. #3
    le tbl interessate sono 2

    modelli
    caratteristiche
    Comunque, dalla query mi sembra che le tbl siano 3, "marca", "modello", "caratteristiche", no?
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    262
    ecco il codice della pagina auto.asp

    codice:
    <?xml version="1.0" encoding="iso-8859-1"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <%@LANGUAGE="VBSCRIPT"%>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <%
    modello=request.querystring("modello")
    sql=" SELECT MARCA.MARCA, MODELLO.MODELLO, CARATTERISTICHE.ALIMENTAZIONE, CARATTERISTICHE.PREZZO, CARATTERISTICHE.POTENZA, CARATTERISTICHE.ANNO FROM (MARCA INNER JOIN MODELLO ON MARCA.ID = MODELLO.MARCA) INNER JOIN CARATTERISTICHE ON MODELLO.ID = CARATTERISTICHE.MODELLO  "
    Set OBJdbConnection=Server.CreateObject("ADODB.Connection")
    OBJdbConnection.open"driver={Microsoft Access Driver (*.mdb)};dbq="&server.mapPath("../db/autoweb.mdb")
    Set Rs=OBJdbConnection.Execute(sql)
    marca=rs("marca")
    modello=rs("modello")
    alimentazione=rs("alimentazione")
    prezzo=rs("prezzo")
    potenza=rs("potenza")
    anno=rs("anno")
    %>
    <title></title>
    <style type="text/css">
    <!--
    body {
    	font-family: "Century Gothic";
    	color: #000000;
    }
    .Stile1 {color: #000000}
    .Stile31 {font-size: small}
    .Stile38 {color: #000000; font-size: medium;}
    -->
    </style>
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_reloadPage(init) {  //reloads the window if Nav4 resized
      if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
        document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
      else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
    }
    MM_reloadPage(true);
    //-->
    </script>
    
    
    <body>
    
    
    
    
    
    </p>
    <table width="771" height="228" border="0" align="left" cellpadding="2" cellspacing="2" id="fattura">
      <tr align="left" valign="middle"> 
        <td width="172" height="34"> <div align="justify" class="Stile31 Stile1">Marca vettura </div></td>
        <td width="111"><span class="Stile1"><%=marca%></span></td>
        <td width="123"></td>
        <td width="339"></td>
      </tr>
      <tr align="left" valign="middle"> 
        <td height="36"> <div align="justify" class="Stile31 Stile1">Modello vettura </div></td>
        <td><span class="Stile1"><%=modello%></span></td>
        <td></td>
        <td></td>
      </tr>
      <tr align="left" valign="middle">
        <td height="36"><div align="justify" class="Stile31 Stile1">Alimentazione</div></td>
        <td><span class="Stile1"><%=alimentazione%></span></td>
        <td></td>
        <td></td>
      </tr>
      <tr align="left" valign="middle">
        <td height="36"><div align="justify" class="Stile31 Stile1">Prezzo</div></td>
        <td><span class="Stile1"><%=prezzo%></span></td>
        <td></td>
        <td></td>
      </tr>
      <tr align="left" valign="middle">
        <td height="36"><div align="justify" class="Stile31 Stile1">Potenza in CV </div></td>
        <td><span class="Stile1"><%=potenza%> </span></td>
        <td></td>
        <td></td>
      </tr>
      <tr align="left" valign="middle">
        <td height="36"></td>
        <td></td>
        <td></td>
    
      </tr>
    </table>
    
    <div align="center">
    <div align="justify">
    
    
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    </body>
    </head>
    </html>

  5. #5
    Le tabelle sono due o tre? Come si chiamano?
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    262
    le tabelle da visualizza nella pagina auto.asp
    sono 3:

    marca: marca
    modello: modello
    caratteristiche: alimentazione, prezzo, potenza, anno

    ma cmq le 3 tbl sono relazionate da campi numerici che rikiamano in ognuna marca, modello, caratteristiche (quest'ultimo campo correlato anzi si trova nella tbl rivenditori ke cmq nn serve in questa pagina in quanto uso un file incluso)

    spero di essere kiaro...

  7. #7
    Chiarissimo: il problema è nella visualizzazione: la tabella che tu hai creato non visualizza il primo record, ma l'ultimo: precisamente quello che rimane caricato in memoria per ultimo dopo che la query ha estratto tutto il recordset.

    Devi usare un ciclo che li faccia vedere tutti: te lo sto preparando, dammi un momento...
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  8. #8
    Una possibile soluzione è questa.

    Come vedi, la creazione delle variabili che contengono i campi del recordset è spostata dopo il tag di apertura della tabella html, all'interno di un ciclo che scorre tutto il recordset leggendo i record dal primo all'ultimo e mostrandoli nella tabella.

    Dopo la lettura dell'ultimo record, la tabella viene chiusa.

    Poi farai tu le modifiche opportune.

    codice:
    <?xml version="1.0" encoding="iso-8859-1"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <%@LANGUAGE="VBSCRIPT"%>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <%
    modello=request.querystring("modello")
    sql=" SELECT MARCA.MARCA, MODELLO.MODELLO, CARATTERISTICHE.ALIMENTAZIONE, CARATTERISTICHE.PREZZO, CARATTERISTICHE.POTENZA, CARATTERISTICHE.ANNO FROM (MARCA INNER JOIN MODELLO ON MARCA.ID = MODELLO.MARCA) INNER JOIN CARATTERISTICHE ON MODELLO.ID = CARATTERISTICHE.MODELLO  "
    Set OBJdbConnection=Server.CreateObject("ADODB.Connection")
    OBJdbConnection.open"driver={Microsoft Access Driver (*.mdb)};dbq="&server.mapPath("../db/autoweb.mdb")
    Set Rs=OBJdbConnection.Execute(sql)
    
    %>
    <title></title>
    <style type="text/css">
    <!--
    body {
    	font-family: "Century Gothic";
    	color: #000000;
    }
    .Stile1 {color: #000000}
    .Stile31 {font-size: small}
    .Stile38 {color: #000000; font-size: medium;}
    -->
    </style>
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_reloadPage(init) {  //reloads the window if Nav4 resized
      if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
        document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
      else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
    }
    MM_reloadPage(true);
    //-->
    </script>
    
    
    <body>
    
    
    
    
    
    </p>
    <table width="771" height="228" border="0" align="left" cellpadding="2" cellspacing="2" id="fattura">
    <%
    do until rs.eof
    
    marca=rs("marca")
    modello=rs("modello")
    alimentazione=rs("alimentazione")
    prezzo=rs("prezzo")
    potenza=rs("potenza")
    anno=rs("anno")
    %>  
      
      <tr align="left" valign="middle"> 
        <td width="172" height="34"> <div align="justify" class="Stile31 Stile1">Marca vettura </div></td>
        <td width="111"><span class="Stile1"><%=marca%></span></td>
        <td width="123"> </td>
        <td width="339"> </td>
      </tr>
      <tr align="left" valign="middle"> 
        <td height="36"> <div align="justify" class="Stile31 Stile1">Modello vettura </div></td>
        <td><span class="Stile1"><%=modello%></span></td>
        <td> </td>
        <td> </td>
      </tr>
      <tr align="left" valign="middle">
        <td height="36"><div align="justify" class="Stile31 Stile1">Alimentazione</div></td>
        <td><span class="Stile1"><%=alimentazione%></span></td>
        <td> </td>
        <td> </td>
      </tr>
      <tr align="left" valign="middle">
        <td height="36"><div align="justify" class="Stile31 Stile1">Prezzo</div></td>
        <td><span class="Stile1"><%=prezzo%></span></td>
        <td> </td>
        <td> </td>
      </tr>
      <tr align="left" valign="middle">
        <td height="36"><div align="justify" class="Stile31 Stile1">Potenza in CV </div></td>
        <td><span class="Stile1"><%=potenza%> </span></td>
        <td> </td>
        <td> </td>
      </tr>
      <tr align="left" valign="middle">
        <td height="36"> </td>
        <td> </td>
        <td> </td>
    
      </tr>
      
    <%
    rs.movenext
    loop
    %>
    
    </table>
    
    <div align="center">
    <div align="justify">
    
    
    
    
     </p>
    
    
     </p>
    
    
     </p>
    
    
     </p>
    
    
     </p>
    </body>
    </head>
    </html>
    Importante: alla fine di tutto ricordati di chiudere e distruggere il recordset e la connessione, con le istruzioni

    codice:
    rs.close
    set rs = nothing
    
    OBJdbConnection.close
    set OBJdbConnection = nothing
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    262
    scusa x la lentezza della mia risposta, ma cmq tnt grazie
    Teorema..ora funge bene
    ho un solo problema, che non riesco a mettere una clausola giusta x la query di selezione.Infatti o mi vengono fuori tutti i record (se non metto calusola) o la pagina è bianka se se non la metto giusta.
    hai una idea di kome possa risolvere?
    cmq sempre grazie (buona domenica)

  10. #10
    Per provare a sistemare la query dovresti dire esattamente quali sono i campi contenuti nelle varie tabelle, o almeno i campi attraverso cui le tabelle sono relazionate.
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

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.