Visualizzazione dei risultati da 1 a 10 su 13

Visualizzazione discussione

  1. #8
    Lavorando con i dati della tabella del mio primo post questa query mi dà problemi:
    codice:
    select *, 
    case 
    when 
    f2 is null then 3 
    when f3 is null then 2 
    else 1 
    END as pertinenza
    from tabella 
    where 
    name = 'test' and f1 = 13 and ((f2 = 10 and f3 = '9999') or (f2 = 10 and f3 is null) or (f2 is null and f3 is null))
    order by pertinenza limit 1

    Dovrebbe restituire:
    codice:
    2  | test   | 13 | 10   |  null  |  A  |   C   |  2

    ma invece dà zero risultati.


    CREDO sia perchè non contempli il caso in cui ... and f3 not exist perchè nel secondo OR tu metti (f2 = 10 and f3 is null) ma '9999' non è null, semplicemente non esiste.

    O detto in altri termini....mettendo fr = '9999', nessuna di queste tre condizioni è vera.

    codice:
    ((f2 = 10 and f3 = '9999') or (f2 = 10 and f3 is null) or (f2 is null and f3 is null))
    Mannaggia non mi riesce di spiegarmi bene ...
    Ultima modifica di PazZII; 25-07-2014 a 12:05

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.