Mi è capitato proprio ora, ripropongo di seguito la query.
Purtroppo però gli alias, come vedi, li avevo già utilizzati!
SELECT NC.CODICE, NC.DATA, NC.DESCRIZIONE, UTENTI.USERNAME, SETTORI.CODICE AS CODICE_SETTORE, SETTORI.NOME AS NOME_CODICE_SETTORE, FONTI.NOME AS NOME_FONTE, TIPI_NC.NOME AS NOME_TIPO_NC, CODICI_NC.CODICE AS CODICE_NC, CODICI_NC.NOME AS NOME_CODICE_NC
FROM NC, FONTI, TIPI_NC, CODICI_NC, SETTORI, UTENTI
WHERE NC.ID_FONTE = FONTI.ID_FONTE AND NC.CODICE_NC = CODICI_NC.ID_CODICE_NC AND CODICI_NC.ID_TIPO_NC = TIPI_NC.ID_TIPO_NC AND NC.ID_SETTORE = SETTORI.ID_SETTORE AND NC.ID_UTENTE = UTENTI.ID_UTENTE AND NC.ID_NC = 46
Questa query restituiva correttamente tutti i campi, ad eccezione di CODICE_SETTORE e NOME_CODICE_SETTORE che, pur contenendo un valore nel database, vengono restituiti con valore stringa vuota (e non NULL).
Il problema si è risolto spostando il nome di questi due campi. La query proposta qui sotto funziona senza problemi. Come è possibile notare, ho spostato i campi CODICE_SETTORE e NOME_CODICE_SETTORE mettendoli subito prima del FROM.
SELECT NC.CODICE, NC.DATA, NC.DESCRIZIONE, UTENTI.USERNAME, FONTI.NOME AS NOME_FONTE, TIPI_NC.NOME AS NOME_TIPO_NC, CODICI_NC.CODICE AS CODICE_NC, CODICI_NC.NOME AS NOME_CODICE_NC, SETTORI.CODICE AS CODICE_SETTORE, SETTORI.NOME AS NOME_CODICE_SETTORE
FROM NC, FONTI, TIPI_NC, CODICI_NC, SETTORI, UTENTI
WHERE NC.ID_FONTE = FONTI.ID_FONTE AND NC.CODICE_NC = CODICI_NC.ID_CODICE_NC AND CODICI_NC.ID_TIPO_NC = TIPI_NC.ID_TIPO_NC AND NC.ID_SETTORE = SETTORI.ID_SETTORE AND NC.ID_UTENTE = UTENTI.ID_UTENTE AND NC.ID_NC = 46
Sottolineo che entrambe le query funzionano (e restituiscono i dati corretti) se eseguite dal Query Analyzer
Il codice relativo è veramente molto semplice, lo ripropongo qui di seguito:
<!--#include virtual="/include/dbconn.asp"-->
<%
Set objConn = Server.CreateObject("ADODB.Connection")
Set objRS = Server.CreateObject("ADODB.Recordset")
objConn.Open strConnString
strSQL = "" ' <-- METTO QUI LA SELECT SCRITTA SOPRA
objRS.Open strSQL, objConn
%>
<p class="sezione"><br><b>PRATICA <%= objRS("CODICE") %></b></p>
<p>Registrata il <%= FormatDateTime(objRS("DATA"),2) %> da <%= objRS("USERNAME") %></p>
<p>
<b>Fonte:</b> <%= objRS("NOME_FONTE") %><br>
<b>Tipo:</b> <%= objRS("NOME_TIPO_NC") %><br>
<b>Codice NC:</b> <%= objRS("CODICE_NC") & " " & objRS("NOME_CODICE_NC") %><br>
<b>Settore:</b> <%= objRS("CODICE_SETTORE") & " " & objRS("NOME_CODICE_SETTORE") %>
</p>
<%
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%>
Il tutto funziona correttamente, senza nessun errore, semplicemente non viene restituito nessun valore per i campi CODICE_SETTORE e NOME_CODICE_SETTORE
Modificato da pandolf il 25 gennaio 2003 20.27 -