Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di pip19
    Registrato dal
    Dec 2001
    Messaggi
    512

    [SQL ] Query seria

    Ciao,

    devo fare una query tra 3 tabelle, dove

    tbl1.id = tbl2.id e tbl3.id=tbl2.id

    mi potete aiutare?

    grazie anticipatamente!

  2. #2

    Re: [SQL ] Query seria

    Originariamente 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!
    Bhe l'hai gia fatta
    http://www.anobii.com/isalreadyinuse

  3. #3
    Utente di HTML.it L'avatar di pip19
    Registrato dal
    Dec 2001
    Messaggi
    512
    purtroppo non va bene come l'ho impostata...

    pensavo ci andasse qualche join...

    potete aiutarmi?

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304

    Moderazione

    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:
    codice:
    SELECT <campi>
    FROM tbl1, tbl2, tbl3
    WHERE ((tbl1.id = tbl2.id) AND (tbl2.id = tbl3.id));
    L'utilizzo della clausola JOIN è (in questo contesto) un modo alternativo per esprimere la stessa query...
    codice:
    SELECT <campi>
    FROM (tbl1 INNER JOIN tbl2 ON tbl1.id = tbl2.id) INNER JOIN tbl3 ON tbl2.id = tbl3.id;
    Ciao.
    "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

  5. #5
    Utente di HTML.it L'avatar di pip19
    Registrato dal
    Dec 2001
    Messaggi
    512
    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

  6. #6
    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 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.
    Per le query serie.. non saprei
    ;-)

    EDIT: ad esempio la seguente con psql (PostgreSQL) 8.3.1 sotto Mac OS X 10.4.11
    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;
    funziona a dovere.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.