Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Airfry
    Registrato dal
    Jan 2003
    Messaggi
    106

    Order By su due colonne con vincolo del valore

    Ciao a tutti,
    vorrei estrarre dei dati con un particolare tipo di ordine.
    Faccio subito l'esempio. Si tratta di una tabella di articoli dove sono previsti due prezzi:
    prezzo di listino (prezzo) e prezzo scontato (prezzo2).
    Il primo c'è SEMPRE, mentre per il secondo, NO.
    Se prezzo2 non è stato inserito, nel database c'è valore "0.00"

    quindi ho una tabella con questo genere di dati:
    Articolo prezzo prezzo 2
    A 2.00 1.50
    B 1.30 0.00
    C 1.80 1.60
    D 1.90 0.00
    E 1.00 0.90


    Lo scopo è un ordinamento dei prezzi in base al valore, dal più basso al più alto contemplando i valori di entrambe le colonne.

    Voglio ottenere questo:

    E 0.90
    B 1.30
    A 1.50
    C 1.60
    D 1.90

    con SELECT * FROM articoli WHERE ...... ORDER BY prezzo2, prezzo ASC funziona (si fa x dire altrimenti non sarei qui ) ma mi fregano i valori 0.00 e mi ritrovo con
    B 0.00
    D 0.00
    E 0.90
    A 1.50
    C 1.60

    Ho provato a usare ORDER BY CASE prezzo2 WHEN > 0 THEN prezzo END, CASE prezzo2 = 0 THEN prezzo END , ma non le ho capite per niente perchè mi da zero risultati.

    E' possibile condizionare l'ordine di un elenco in base al valore delle colonne?
    Spero di aver spiegato bene il mio problema.
    Grazie
    Lo spartito della vita
    è un insieme di note.
    Ognuno è artefice della propria armonia.

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Hai provato => ORDER BY CASE WHEN prezzo2 > 0 THEN prezzo2 ELSE prezzo END
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it L'avatar di Airfry
    Registrato dal
    Jan 2003
    Messaggi
    106
    Mi chiedo perché una persona (io ad esempio) che ama e si appassiona alle cose che fa, e vuole capirle a prescindere, ci batte la testa per ore e alla fine, stremato, deve cedere e chiedere aiuto per scoprire che quando una soluzione è PERFETTA, ha in sé tutta la logica che non era stato capace di vedere.
    Caro Badaze, ho trovato decine di esempi che non sono stato capace di comprendere bene come questa soluzione che mi hai dato tu. Funziona PERFETTAMENTE, ma soprattutto, l'ho capita benissimo. Grazie di cuore
    Lo spartito della vita
    è un insieme di note.
    Ognuno è artefice della propria armonia.

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