Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [SQL]aiuto per query

  1. #1

    [SQL]aiuto per query

    Buon giorno, scusatemi per il titolo ma non sapevo cosa scrivere.
    Cmq.
    Nella TB_NEWS ho un campo PosizioneNews che può avere valori da 0 a 10.
    Nella pagina dove gestisco la modifica delle stesse, ne volevo visualizzare 15, nel caso in cui ci fossero news con Posizione '0' che potevano essere ri-pubblicate.
    Mi sono accorto che con la select che posto di seguito, mi lascia fuori una news che ha la posizione '3'.
    codice:
    SELECT * FROM TB_NEWS order by dDataIns desc,nIdNews desc LIMIT 0,15
    La spiegazione sta nel fatto che, essendo collocata come 20 esima news nella tabella, la query così com'è lo lascia fuori perchè ho inserito il LIMIT a 15.
    Domanda:
    vorrei strutturare una select nella quale prende tutti i record che hanno PosizioneNews da 1 a 10, ed anche 5 news le più recenti con valore di PosizioneNews = 0.

    Potete aiutarmi cortesemente?
    Grazie mille......

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469

    Re: [SQL]aiuto per query

    Originariamente inviato da ANTAGONIA
    Buon giorno, scusatemi per il titolo ma non sapevo cosa scrivere.
    Cmq.
    Nella TB_NEWS ho un campo PosizioneNews che può avere valori da 0 a 10.
    Nella pagina dove gestisco la modifica delle stesse, ne volevo visualizzare 15, nel caso in cui ci fossero news con Posizione '0' che potevano essere ri-pubblicate.
    Mi sono accorto che con la select che posto di seguito, mi lascia fuori una news che ha la posizione '3'.
    codice:
    SELECT * FROM TB_NEWS order by dDataIns desc,nIdNews desc LIMIT 0,15
    La spiegazione sta nel fatto che, essendo collocata come 20 esima news nella tabella, la query così com'è lo lascia fuori perchè ho inserito il LIMIT a 15.
    Domanda:
    vorrei strutturare una select nella quale prende tutti i record che hanno PosizioneNews da 1 a 10, ed anche 5 news le più recenti con valore di PosizioneNews = 0.

    Potete aiutarmi cortesemente?
    Grazie mille......
    non è che abbia capito benissimo, comunque
    codice:
    SELECT * FROM TB_NEWS 
    where (posizionenews>=1) and (posizionenews<=10)
    order by quello che vuoi
    UNION
    select * from TB_NEWS
    where (posizioneNews=0) 
    order by ddatains desc
    limit 5;

  3. #3
    di sicuro la LIMIT va tolta. fa' poi 2 query distinte per le due condizioni, e uniscile con la UNION

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.