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

    [MSSql] Identificare record con campi duplicati

    Ciao.
    Sono alcuni giorni che ci sbatto la testa ma non ne vengo fuori completamente

    Dovrei identificare all'interno di un DB MSSql i record che contengono un campo duplicato e riportarne però solo quello cha ha un altro campo con data più recente

    .. ad esempio

    computer,data
    -------------
    pippo,20120217
    pippo,20120218
    pippo,20120219
    pluto,20120202
    pluto,20120205
    paperino,20120202

    .. dovrei riportare solo i record
    pippo,20120219
    pluto,20120205

    Per ricavare i computer doppi ho utilizzato questa query
    select computer from table group by computer having count(*) > 1

    Per il resto ho qualche difficoltà; chi mi può dare una mano ?

    Grazie.

  2. #2
    select computer, max(data)
    from table
    group by computer

  3. #3
    Fico !! Più facile di quanto pensassi

    Agggiungo una complicazione (vi prego, non chiedetemi perchè la table è fatta in quel modo!)

    id, name, value
    ---------------
    1, computername, pippo
    1, reportdate, 20120217
    2, computername, pippo
    2, reportdate, 20120218
    3, computername, pippo
    3, reportdate, 20120219
    4, computername, pluto
    4, reportdate, 20120217
    5, computername, pluto
    5, reportdate, 20120218

    La query dovrebbe riportare

    3, pippo,20120219
    5, pluto,20120218

    .. e qui proprio sono a zero ..

  4. #4
    andiamo per gradi. riesci a fare una query che riporti

    id, nome_computer, data_report? cioè, dato l'esempio

    1, pippo, 20120217
    2, pippo, 20120218
    3, pippo, 20120219

    ecc

  5. #5
    select a.Computerid,a.value,b.value from bes_column_headings a,bes_column_headings b where a.Name = 'Computer Name' and b.Name = 'Last Report Time' and (a.computerid = b.computerid) order by a.value

    .. e poi ?

  6. #6
    adesso questa stringa sarà la tua tabella d'origine

    select computer, max(data)
    from (tua_query) T1
    group by computer

    eventualmente sistema i nomi

  7. #7

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    1
    Ciao, stesso problema di Blies67... proprio lo stesso... ma se avessi bisogno di avere in risposta l'id come devo fare nella query suggerita?


    tabella:
    id, computer, data
    1, pippo, 20120217
    2, pippo, 20120218
    3, pippo, 20120219

    query:
    select computer, max(data)
    from table
    group by computer

    Grazie!

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.