Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Query su due tabelle.

  1. #1

    Query su due tabelle.

    Ciao, sto cercando di fare la query sottostante in MySQL
    codice:
    OBIETTIVI
    +----+-----------+----------+
    | id | objective | complete |
    +----+-----------+----------+
    |  1 |   drone   |    12    |
    +----+-----------+----------+
    |  1 |   agent   |    1     |
    +----+-----------+----------+
    
    PROGRESSI
    +----+-----------+----------+
    | id | objective | progress |
    +----+-----------+----------+
    |  1 |   drone   |    7     |
    +----+-----------+----------+
    |  1 |   agent   |    0     |
    +----+-----------+----------+
    Da queste due tabelle devo fare una query che mi restituisca questo sottostante. Ho provato in vari modi ma mi vengono risultati duplicati.

    codice:
    PROGRESSI
    +----+-----------+----------+----------+
    | id | objective | progress | complete |
    +----+-----------+----------+----------+
    |  1 |   drone   |    7     |    12    |
    +----+-----------+----------+----------+
    |  1 |   agent   |    0     |    1     |
    +----+-----------+----------+----------+

    In pratica la prima tabella sono gli obiettivi della missione. L'altra i progressi delle missioni in corso. ID indica la missione. Drone è l'obiettivo e ne ho raccolti 7 su 12.
    Il Cavaliere dei Sogni

  2. #2
    Ciao nn so che tipo di query hai scritto, ad ogni modo per eliminare i duplicati puoi usare la clausola DISTINCT... Select distinct ....

  3. #3
    Originariamente inviato da bomberdini
    per eliminare i duplicati puoi usare la clausola DISTINCT... Select distinct ....
    e' quello che ho fatto ma mi da problemi

    codice:
    SELECT DISTINCT o.objective,p.progress,o.complete
    FROM obiettivi AS o
     INNER JOIN progressi AS p
      ON o.id=p.id
    WHERE o.id=1
    ma viene cosi..
    codice:
    objective progress complete
    agent		7	1
    agent		0	1
    drone		7	12
    drone		0	12
    Il Cavaliere dei Sogni

  4. #4
    Trovato! mancava
    AND o.objective=p.objective
    codice:
    SELECT o.objective,p.progress ,o.complete 
    FROM obiettivi AS o 
      INNER JOIN progressi AS p 
        ON o.id=p.id AND o.objective=p.objective 
      WHERE o.id=1

    e viene come mi serviva:
    codice:
    +-----------+----------+----------+
    | objective | progress | complete |
    +-----------+----------+----------+
    |   drone   |    7     |    12    |
    +-----------+----------+----------+
    |   agent   |    0     |    1     |
    +-----------+----------+----------+
    drone 7 12
    Il Cavaliere dei Sogni

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 © 2026 vBulletin Solutions, Inc. All rights reserved.