348 messaggi dal 10 marzo 2013
Buonasera a tuuti.

Ho un problema con SQL, sicuramente dovuto alla mia poca pratica con il suo utilizzo.

In pratica ho una vista da dove recupero diverse colonne (ovvio),
il problema e' che quando eseguo la query ho diversi id doppiati anche se l'id e' una chiave primaria , questo mi da diversi problemi in fase di recerca, altra cosa strana questi ID doppi hanno alcuni dati diversi.
Come posso risolvere?

La query è la seguente:

SELECT TOP (100) PERCENT dbo.T_RinnovoRec.IdRinnovoRec, T_Allievi.IdRecreational AS IdAllievi, T_Allievi.FotoTesseraRec, T_Allievi.R_Cognome, T_Allievi.R_Nome, T_Allievi.R_DataNascita,
T_BrevettiAllievi.IdBrevetto, T_BrevettiAllievi.Sigla AS SiglaBrevAllievi, T_BrevettiAllievi.Descrizione AS DescBrevAllievi, T_BrevettiAllievi.Certificazione, T_StoricoAllievi.DataCertificazione,
dbo.T_RinnovoRec.DataRinnovo, dbo.T_RinnovoRec.AnnoRinnovo, Trainer.IdProfessional, Trainer.P_Cognome AS SurTrainer, Trainer.P_Nome AS NameTrainer, dbo.T_Brevetti.Sigla AS SiglaBrevTrainer,
dbo.T_EsaPoint.IDEsaPoint, dbo.T_EsaPoint.TipoAffiliato, dbo.T_EsaPoint.RagioneSociale, T_BrevettiAllievi.Rinnovo, dbo.T_RinnovoRec.IdUser, dbo.T_RinnovoRec.Stampa, T_BrevettiAllievi.Grado
FROM dbo.T_StoricoRec AS T_StoricoAllievi LEFT OUTER JOIN
dbo.T_Brevetti INNER JOIN
dbo.T_Professional AS Trainer ON dbo.T_Brevetti.IdBrevetto = Trainer.IdBrevetto ON T_StoricoAllievi.IdProfessional = Trainer.IdProfessional LEFT OUTER JOIN
dbo.T_RinnovoRec ON T_StoricoAllievi.IdRecreational = dbo.T_RinnovoRec.IdRecreational AND T_StoricoAllievi.IdBrevetto = dbo.T_RinnovoRec.IdBrevetto LEFT OUTER JOIN
dbo.T_Recreational AS T_Allievi ON T_StoricoAllievi.IdRecreational = T_Allievi.IdRecreational LEFT OUTER JOIN
dbo.T_EsaPoint ON T_StoricoAllievi.IdEsaPoint = dbo.T_EsaPoint.IDEsaPoint LEFT OUTER JOIN
dbo.T_Brevetti AS T_BrevettiAllievi ON T_StoricoAllievi.IdBrevetto = T_BrevettiAllievi.IdBrevetto
WHERE (T_BrevettiAllievi.Rinnovo = 'True')
GROUP BY dbo.T_RinnovoRec.IdRinnovoRec, T_Allievi.IdRecreational, T_Allievi.FotoTesseraRec, T_Allievi.R_Cognome, T_Allievi.R_Nome, T_Allievi.R_DataNascita, T_BrevettiAllievi.IdBrevetto, T_BrevettiAllievi.Sigla,
T_BrevettiAllievi.Descrizione, T_BrevettiAllievi.Certificazione, T_StoricoAllievi.DataCertificazione, dbo.T_RinnovoRec.DataRinnovo, dbo.T_RinnovoRec.AnnoRinnovo, Trainer.IdProfessional, Trainer.P_Cognome,
Trainer.P_Nome, dbo.T_Brevetti.Sigla, dbo.T_EsaPoint.IDEsaPoint, dbo.T_EsaPoint.TipoAffiliato, dbo.T_EsaPoint.RagioneSociale, dbo.T_RinnovoRec.IdUser, T_BrevettiAllievi.Grado, dbo.T_RinnovoRec.Stampa,
T_BrevettiAllievi.Rinnovo
HAVING (dbo.T_RinnovoRec.IdRinnovoRec IS NOT NULL)
ORDER BY IdAllievi
43 messaggi dal 30 gennaio 2016
Ciao Oiram,
Hai provato a vedere direttamente nella tabella cosa succede ?
348 messaggi dal 10 marzo 2013
Buongiorno Andy1987.
Grazie per l'interessamento.
La tabella dalla quale ricavo gli id che vengono doppiati nella vista è ok.
Ti giuro sto impazzendo!

Mario
66 messaggi dal 09 febbraio 2005
Ciao,
non ho analizzato la query , anche perché leggere codice non formattato
non aiuta di certo, ma ho visto alcune join che
,escludendo come sembra logico che tutte le tabelle
siano in relazione 1:1 sul campo id , spiegano il perché degli id doppi.

HTH
348 messaggi dal 10 marzo 2013
Ciao sspintux

scusa sono corto di comprensione,
non capito bene la risposta.
In pratica il problema sta nelle join, se io le tolgo potrei risolvere?

Grazie infinite per l'aiuto
348 messaggi dal 10 marzo 2013
Ho detto una stupidagine nella rispota precedente.
Ma nessuno ha una soluzione al mio problema?

Grazie a tutti
Modificato da Oiram il 01 febbraio 2016 11.06 -
43 messaggi dal 30 gennaio 2016
Ciao,
quindi se fai una select su ogni tabella il risultato è quello che ti aspetti ?
Se si, allora il tuo problema è nella query!
inizia magari a fare le join una dopo l'altra (controllando se il risultato è quello che ti aspetti) e quando il risultato non sarà quello che ti aspetti beh, devi sbatterci un po la testa :) (ma fa bene :P)
348 messaggi dal 10 marzo 2013
Sicuramente è tutta salute, ma è una settimana che ci sbattono testa, anche con il metodo da te suggerito, ti giuro ho provato tutto!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.