Newsgroup: it.comp.lang.visual-basic
Titolo: query

ciao e scusate il disturbo ,perdonatemi stň imparando.
la domanda č:
came si crea una semplice query che relaziona  due tabelle tramite il campo
"codnarticolo"
Ciao e grazie.

 ha scritto

Select T1.C1, T1.C2, T2.C1, T2.C2 From T1, T2 Where
T1.codnarticolo=T2.codnarticolo Order By ...

 T1.codnarticolo=T2.codnarticolo Order By ...
No Lupo, no......
Proprio tu.....
:-))
Ma quant'č che non si usa piů quella sintassi lě....
Non la becca nessun ottimizzatore, nessun motore riesce a selezionare gli
indici migliori, ecc...
Proviamo con
Select T1.C1, T1.C2, T2.C1, T2.C2
From T1 LEFT OUTER JOIN T2
On T1.codnarticolo=T2.codnarticolo
Order By ...
A seconda di quello che vogliamo, anzichč LEFT OUTER JOIN si puň usare RIGHT
OUTER JOIN o INNER JOIN.
Ciao
Alberto

 indici migliori, ecc...
Retaggi "antichi" e, sinceramente, maggior leggibilità. Lo so, un tot di
tempo fa, qualcuno mia aveva spiegato che è persino più lenta, ma ... sono
crucco. :-)

 Retaggi "antichi" e, sinceramente, maggior leggibilità.
Sul "Maggior leggibilità" ho i miei forti dubbi.
Fino a un annetto fa, scrivevo anche io i Join nel Where, poi ho notato che
la leggibilità, usando JOIN, aumenta in modo esponenziale.
Senza considerare che l'Outer Join fatto come fai tu è una cosa devastante
(Union).
Come fai tu, le condizioni di Join e le condizioni di selezione sono
mescolate in un unico blocco della query.
Con la sintassi del Join ON, da una parte hai le condizioni di Join, e solo
dopo hai le condizioni di selezione (Where), ben distinte e facilmente
verificabili.
Inoltre, hai la possibilità (a volte utilissima), di fare un Outer Join, e
poi di selezionare i record risultanti con un campo NULL, ossia quelli che
in realtà non soddisfano l'Inner Join.
E passare da un Inner ad un Outer Join è questione di cambiare una parolina,
anzichè ripensare tutta la query.
Ciao
Alberto

 (Union).
Su questo non insisto affatto. Sto studiando, ci credi?
Le devo assimilare e poi provo ad applicarle qui e la.
Una cosa non mi è chiara: Se ho ben capito, la condizione di join serve a
indicare i campi uguali, le relazioni, per intenderci, fra le due (o più)
tabelle. Non ho ben visto la sintassi per indicarne più d'una (un And
all'interno dello stesso ON?). Le eventuali condizioni di selezione vanno
messe in una successiva Where. Giusto?

 messe in una successiva Where.
Perfetto.
Lo sapevo che eri forte...
Alberto

Si fa con una join
tipo (Select * from tabella1 join tabella2 ona campotab1=campotab2)
, ma č meglio che
dai un'occhiata ad una guida di SQL se stai imparando...
ci sono un sacco di cose che č bene sapere quando si mette mano ai database.
Ciao
Carta

 ha scritto nel messaggio
news:RQjv9.54958$TD1.2...@news2.tin.it...

Armando mentre i 2 piccioncini discutono cerco di risponderti io ^_^
la stringa della query + semplice che mi viene in mente e' :
"SELECT tabella1.*, tabella2.* WHERE Tabella1.codnarticolo =
Tabella2.codnarticolo ;"
poi se alla fine aggiungi "Order by tabella.campochevuoi" te la ordina ^_^ !
Credo che per iniziare vada bene !

 Tabella2.codnarticolo ;"
Veramente la discussione dei due piccioncini è nata proprio da qualcosa del
genere (che però funziona, questo no).
;-PP

 genere (che perň funziona, questo no).
vabbe' che devo ancora arrivare al capitolo dei DB , cmq per come
"barbaramente" li uso io quella sintassi e' perfetta !!  ^_^

 "barbaramente" li uso io quella sintassi e' perfetta !!  ^_^
A me sembra che manchi il From...

 A me sembra che manchi il From...
anfatti ho fatto un casinaccio pazzesco , quando ti serve il comando
"annulla post" e' sempre troppo tardi :-/
ok so sputtanato, ritorno al mio balena che e' meglio...

Errata corrige...
Select * from tabella1 join tabella2 on campotab1=campotab2

 Armando mentre i 2 piccioncini discutono cerco di risponderti io ^_^
Geloso?
Ti abbiamo escluso solo perchè tu non usi il from.....
:-)
Alberto

 Ti abbiamo escluso solo perchè tu non usi il from.....
porca miseria so bollato a vita
:(
Grrrrr ok prometto che tra un po ( giorni ) vi tiro fuori un trattato sui DB
in generale ^_^