Come fare una query e recuperare i dati da due tabelle?

Faccio una query select per estrapolare i dati da due tabelle A e B, ho scritto qualcosa del genere:

SELECT TableA.id FROM TableA, TableB WHERE TableA.id = 196;

dove il campo id della tabella A è unico ed incrementale, eppure mi ritorna più di un risultato, dove sbaglio?

In Corso 3
PostgreSQL 21-06-2018 2 Risposte 2636 Visite 0

Risposte ( 2 approvate )

  1. Alberto Orfiesi
    0
    21-06-2018 18:45:57
    Rispondi

    La query scritta in questa maniera è normale che ti torni più di una riga, una sola dalla tabella A con id=196 e poi tutte le righe (records) della tabella B, probabilmente la logica e/o la relazione che vuoi esprimere attraverso queste due tabelle con questa query è sbagliata, tutt'alpiù avresti potuto scrivere così

    SELECT TableA.id FROM TableA, TableB WHERE TableA.id=TableB.id AND TableA.id = 196
  2. Arturo Padova
    0
    21-06-2018 18:41:42
    Rispondi

    Io credo che tutta la query sia sbagliata, letta così a mio avviso ha poco senso, probabilmente volevi fare un JOIN tra queste due tabelle, se questa era la tua intenzione avresti dovuto scrivere così

    SELECT TableA.id from TableA
    INNER JOIN TableB 
    ON TableB.TableAID = TableA.ID 
    WHERE TableA.ID = 196

Rispondi

Per poter rispondere a questa domanda, devi essere registrato e loggato sul sito, dopodichè compila il box sottostante cercando di essere il più chiaro ed esauriente possibile, la tua risposta potrebbe essere la soluzione che l'utente cerca ed essere contrassegnata come migliore, consentendoti così di ottenere punti ed autorevolezza.

Filippo Bettinaso

Filippo Bettinaso

Autore di questa domanda

 Domanda Precedente

 Elenco Domande 

Domanda Successiva