Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [SQL] Sintassi di DISTINCT

    Ho la tabella dell'immagine sotto e sto impazzendo a fare i DISSTINCT per riuscire a recuperare tutta la riga (quindi con i campi fid, tipo, owner, thumb, path, comm)solamente dove tipo = cli e owner è diverso da vuoto.
    Ho provato di tutto ma miu risulata sempre o un campo solo, o i campi duplicati !
    help me please
    - Kiko™ -
    Immagini allegate Immagini allegate
    .....vivi nel rispetto di chi vive nel rispetto degli altri ......

  2. #2
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    quali valori ti vengono restituiti con una query simile a questa?

    codice:
    SELECT * FROM tabella WHERE tipo = 'cli' AND owner IS NULL
    riguardo all'uso di DISTINCT potrai sempre applicarlo in un secondo momento, dopo aver prima definito la query necessaria per estrarre i dati che ti interessano..

  3. #3
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    domanda:

    SELECT * FROM tabella WHERE tipo = 'cli' AND owner = NULL

    avrebbe potuto funzionare? come interpreta il NULL in questo caso?
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  4. #4
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    No. Il tipo NULL è NULL, nient'altro.

    Nel modo in cui tu hai riscritto la query il controllo sul campo "owner" verrebbe eseguito sulla "stringa" NULL e non sul tipo (NULL) specifico. IS NULL è una delle varie possibilità di verifica su questo particolare tipo di dato.

  5. #5
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    perfetto grazie

    non mi sono mai trovato in condizione di valutare questa situazione, ma metto le mani avanti..
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  6. #6
    io avevo fatto :

    SELECT * FROM tabella WHERE tipo = 'cli' AND owner !=''

    e così a dire il vero mi estraeva tutti i risultati come volevo io, a questo punto però avevo i record 8,9,10,11 di cui l'8 con owner = 4 e 9,10,e 11 con owner = 2.
    Quello che voglio io è riuscire ad avere come risultato solo le righe corrispondenti al record 8 ed ad uno dei record 9,10,o 11 ina maniera da avere un distinct dei risultati, però non riesco ad azzeccare la sintassi... potete aiutarmi !??!
    grazie
    - Kiko™ -
    .....vivi nel rispetto di chi vive nel rispetto degli altri ......

  7. #7
    select *
    from tab
    where owner != ''
    group by tipo


    si suppone pero' che il campo owner sia settato come NOT NULL e non come NULL

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    niente
    fcendo come dici tu ho solo la riga con owner = 4 ma nessuno dei record con owner = 2... ti posto la schermata....
    Immagini allegate Immagini allegate
    .....vivi nel rispetto di chi vive nel rispetto degli altri ......

  9. #9
    raggruppa per il solo cli ... se vuoi anche l'owner aggiungilo al group by


    select *
    from tab
    where owner != ''
    group by tipo, owner


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.