Ciao,
devo fare una query tra 3 tabelle, dove
tbl1.id = tbl2.id e tbl3.id=tbl2.id
mi potete aiutare?
grazie anticipatamente!
Ciao,
devo fare una query tra 3 tabelle, dove
tbl1.id = tbl2.id e tbl3.id=tbl2.id
mi potete aiutare?
grazie anticipatamente!
Bhe l'hai gia fattaOriginariamente inviato da pip19
Ciao,
devo fare una query tra 3 tabelle, dove
tbl1.id = tbl2.id e tbl3.id=tbl2.id
mi potete aiutare?
grazie anticipatamente!
http://www.anobii.com/isalreadyinuse
purtroppo non va bene come l'ho impostata...
pensavo ci andasse qualche join...
potete aiutarmi?
Una domanda: esistono delle query più serie di altre?
Da cosa si misura la serietà di una query? Dal modo in cui risponde? Dal numero di record che estrae?
Rileggi il regolamento per quanto riguarda la formulazione dei titoli delle discussioni.
Ad ogni modo, la query l'hai già fatta:
L'utilizzo della clausola JOIN è (in questo contesto) un modo alternativo per esprimere la stessa query...codice:SELECT <campi> FROM tbl1, tbl2, tbl3 WHERE ((tbl1.id = tbl2.id) AND (tbl2.id = tbl3.id));
Ciao.codice:SELECT <campi> FROM (tbl1 INNER JOIN tbl2 ON tbl1.id = tbl2.id) INNER JOIN tbl3 ON tbl2.id = tbl3.id;
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
scusate...
ovviamente la definizione seria era data dal fatto che per me era seria, un problema.
Ritornando al problema, purtroppo con quei where, non risolvo, perchè sembra che sia impallato a looppare...
la struttura delle tabelle è una relazione del tipo
1 a N tra la tbl1 e la tbl2
e sempre
1 a N tra la tbl3 e la tbl2
fatto sta che non mi estrae cio' che chiedo
Per risolvere un problema buffo, sarebbero gradite le definizioni esatte delle tabelle in giuoco (e delle relazioni tra esse), e della query fallace. Meglio se con la marca del database e sua versione in uso.Originariamente inviato da pip19
scusate...
ovviamente la definizione seria era data dal fatto che per me era seria, un problema.
Ritornando al problema, purtroppo con quei where, non risolvo, perchè sembra che sia impallato a looppare...
la struttura delle tabelle è una relazione del tipo
1 a N tra la tbl1 e la tbl2
e sempre
1 a N tra la tbl3 e la tbl2
fatto sta che non mi estrae cio' che chiedo
Per le query serie.. non saprei
;-)
EDIT: ad esempio la seguente con psql (PostgreSQL) 8.3.1 sotto Mac OS X 10.4.11
funziona a dovere.codice:drop table t1; drop table t3; drop table t2; create table t2( id serial not null constraint pk_t2 primary key ); create table t1( id serial not null constraint pk_t1 primary key, t2_ref integer not null constraint fk_t1_pt_t2 references t2(id) ); create table t3( id serial not null constraint pk_t3 primary key, t2_ref integer not null constraint fk_t3_pt_t2 references t2(id) ); begin; insert into t2 default values; insert into t1 (t2_ref) values ((select max (id) from t2)); insert into t3 (t2_ref) values ((select max (id) from t2)); commit; select * from t2, t1, t3 where t1.t2_ref = t2.id and t3.t2_ref = t2.id;