Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL Come si crea questa sottoquery?

Prenderei la tua query originale per ottenere la penultima tabella e modificare il Select aggiungendo use distinct (trovato qui ) e selezionare solo Origine, Stock e il calcolo per il Punteggio. Ad esempio, se il punteggio è una media di tutti, sarebbe AVG(Score) dove Score sarebbe quello che hai recuperato nella query originale. Se vuoi usare solo un piccolo sottoinsieme degli articoli che hanno la stessa Origine e Stock per calcolare il Punteggio, userei una sottoquery, con dove corrisponda agli ID Origine e Stick, nella selezione in modo da avere:

Select Origin, 
       Stock, 
       (select calculation(Score) from tables where tables.stock_id = .... tables.origin_id = .....)
From....

Spero che questo aiuti.