Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [MySql] Subquery con where = valori multipli

  1. #1

    [MySql] Subquery con where = valori multipli

    Ciao a tutti,

    ho una query che mi deve estrarre tutti i record degli ultimi 5 anni :

    codice:
    Select *
    FROM
    table1.*, table2.*
    WHERE
    table1.annoID=table2.annoID AND
    table2.anno = (select anno FROM table2 ORDER BY anno DESC LIMIT 5)
    ORDER BY table1.titolo
    ma ovviamente mi restituisce "Subquery returns more than 1 row"

    Come posso fare ?

    Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,097
    codice:
    table2.anno in(select anno FROM table2 ORDER BY anno DESC LIMIT 5)
    a parte questo, trovo un po' sospetto che la condizione precedente utilizzi "annoID" mentre questa "anno"

  3. #3
    Molte grazie Luca,

    si non farci caso a quello.. era solo per dire che le 2 tbl sono collegate; di fatto è una query complessa che ho velocemente semplificato qui...

    [QUOTE=luca200;25454696]
    codice:
    table2.anno in(select anno FROM table2 ORDER BY anno DESC LIMIT 5)
    purtroppo l'uso di limit con IN non è supportato nella mia versione MySQL

    "This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'

    Any workaround per versioni precedenti ?
    Ultima modifica di nicemotion; 21-04-2017 a 14:23

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,097
    temo di no

  5. #5
    Proverò ad usare INNER JOIN.. molte grazie cmq !

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