melmager
Erfahrenes Mitglied
ich versuche gerade join zu verstehen 
wo ist eigendlich der unterschied zwischen on und where?
ich sehe da keinen -- muss aber sein sonst gäbe es on ja nicht
und dann habe ich gelesen das bei der where abfrage man darauf achten soll das die grösste einschränkung zu erst kommt aber in welcher reihenfolge wird die where abfrage denn duchgeforstet ?
ich baue gerade ein join mit drei tabellen und 100 million datensätze zu durchforsten kann
doch dauern ....
atab = artid , preis , ix > artikelzeile in der rechnung
btab = datum , ix > rechnung datum rechnungsnr
ctab = liefer , artid > lieferant hat artikel artid
(vereinfacht)
so sieht die abfrage aus:
select sum(atab.preis) from atab,btab,ctab where month(btab.datum)=1 and atab.ix=btab.ix and atab.artid=ctab.artid group by ctab.liefer
sollte den umsatz im januar von allen lieferanten anzeigen ;
ich gehe mal davon aus das die reihenfolge hinter from egal ist oder?
und die where solle so sein: ermittle alle rechnungen vom januar dann alle artikel in den ausgewählten rechnungen und dann dazu den lieferanten
ich hoffe atab.ix=btab.ix macht das gleiche wie btab.ix=atab.ix ??
hoffe auf etwas erhellung von einem sql guru

wo ist eigendlich der unterschied zwischen on und where?
ich sehe da keinen -- muss aber sein sonst gäbe es on ja nicht
und dann habe ich gelesen das bei der where abfrage man darauf achten soll das die grösste einschränkung zu erst kommt aber in welcher reihenfolge wird die where abfrage denn duchgeforstet ?
ich baue gerade ein join mit drei tabellen und 100 million datensätze zu durchforsten kann
doch dauern ....
atab = artid , preis , ix > artikelzeile in der rechnung
btab = datum , ix > rechnung datum rechnungsnr
ctab = liefer , artid > lieferant hat artikel artid
(vereinfacht)
so sieht die abfrage aus:
select sum(atab.preis) from atab,btab,ctab where month(btab.datum)=1 and atab.ix=btab.ix and atab.artid=ctab.artid group by ctab.liefer
sollte den umsatz im januar von allen lieferanten anzeigen ;
ich gehe mal davon aus das die reihenfolge hinter from egal ist oder?
und die where solle so sein: ermittle alle rechnungen vom januar dann alle artikel in den ausgewählten rechnungen und dann dazu den lieferanten
ich hoffe atab.ix=btab.ix macht das gleiche wie btab.ix=atab.ix ??
hoffe auf etwas erhellung von einem sql guru
