Select sql

martedì 02 novembre 2004 - 22.30

mon78 Profilo | Junior Member

Ciao a tutti ho 1 problema. Ho creato una web application con una web form in cui c'è un datagrid, dove carico i risultati di una query sql; questa fa una select su due tabelle relazionate tra di loro, in modo che la chiave esterna 'idparent' di una tabella sia uguale alla chiave primaria 'id' dell'altra; nella query inserisco nella clausola where l'uguaglianza tra le chiavi; il problema è che se ho una voce nella tabella il cui id non è uguale a nessuno idparent dell'altra tabella, quella voce non viene considerata. invece a me servirebbe anche quella voce. come devo fare? mi aiutate? Grazie mille

GvnnRules Profilo | Senior Member

Devi fare un left inner join ... da quello che ho capito la tua query dev'essere una cosa del genere:

select tabella1.id, tabella2.idParent
from tabella1, tabella2
where tabella1.id = tabella2.idParent

potresti trasformarla in

select tabella1.id, tabella2.idParent
from tabella1, tabella2
where tabella1.id *= tabella2.idParent

Così ti ritorna tutti i campi della tabella1, anche se non trova corrispondenze in tabella2, oppure potresti fare così:

select tabella1.id, tabella2.idParent
from tabella1 left inner join tabella2
on tabella1.id *= tabella2.idParent

Ciaoz
Gvnn

freeteo Profilo | Guru

ciao,
non so ma da me in access non funziona l'asterisco :-(
cmq puoi fare la left join classica solo che inverti le 2 tabelle es:

select ...from clienti left join indirizzi on clienti.nome = indirizzi.cliente
select ...from indirizzi left join clienti on clienti.nome = indirizzi.cliente

ciao

GvnnRules Profilo | Senior Member

Mea culpa ... non avevo capito che era access ... troppo stordito :-P, l'asterisco funziona solo con SQL Server ... non devo rispondere ai forum la sera tardi :-)

Ciaoz
Gvnn

mon78 Profilo | Junior Member

NN preoccuparti, il database è in sql, quindi avevi capito bene. Grazie
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5