ciao a tutti..sfrutto ancor aquesto forum per farvi una domanda. probabilmente faccio un errore stupido ma non capisco dove posso sbagliare. praticamente ho un database e in questa ci sono varie tabelle tra cui VDS_Generale e VDS_dettaglio. queste si collegano con i campi ID (nella tabella VDS_generale) e Id_dettaglio.
devo estrarre alcuni valori da entrambe le tabelle e unirli in base a questi valori comuni. ho quindi pensato di usare la funzione INNER JOIN. giusto?
però quando carico la pagina (seguendo tutto il percorso corretto) mi scrive che non trova valori (ma i vlaori ci sono!!). ho provato a fare tante modifiche ma..niente...
vi posto il codice cosi se qualcuno riesce a trovare dove sbaglio lo ringrazio molto
<%@LANGUAGE = VBScript%>
<%
Dim cn, rs ' Variabili per la connessione e per il Recordset
' Creo un'istanza per la connessione ed una per il Recordset
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
cn.Open str_cn ' Apro la connessione al database
Dim SQL ' Creo la query SQL
sql="SELECT * FROM VDS_Generale AS A inner JOIN VDS_dettaglio AS B ON A.ID = B.ID_vds"
' Apro il Recordset
rs.Open SQL, cn
%>
<html>
<head>
<title>Lettura dati relativi alle ditte</title>
</head>
<body>
<table border="1">
<tr>
<td>Anno:</td>
<td>Macroarea:</td>
<td>verificatore:</td>
</tr>
<%
' Verifico che la tabella contenga dati
' Se non ne contiene lancio un messaggio di avviso
If rs.EOF = True Then
%>
Nessun dato trovato</p>
<%
' Se invece ne contiene visualizzo i dati in funzione
' della query SQL specificata
Else
While rs.EOF = False
%>
<tr>
<td><%=rs("Anno")%></td>
<td><%=rs("macroarea")%></td>
<td><%=rs("verificatore")%></td>
</tr>
<%
rs.MoveNext
Wend
End If
%>
</table>
</body>
</html>
<%
' Chiudo il Recordset
rs.Close
Set rs = Nothing
' Chiudo la connessione
cn.Close
Set cn = Nothing
%>
è possibile che sia un problema di INNER JOIN?? perchè se provo a scrivere LEFT JOIN mi restituisce i valori della prima tabella...
grazie a tutti..Alessandro!


Rispondi quotando