Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Come unire 2 righe

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2013
    Messaggi
    20

    Come unire 2 righe

    Ciao a tutti sono nuovo mi sono iscritto cercando un aiuto per risolvere il mio problema...
    Allora io ho questa tabella SQL con molti nominativi praticamente ci sono 16 campi
    poi se vi serve ve li elenco non so vedete voi...
    comunque questa tabella non è mai stata ordinata non ha una chiave e quindi è un po un minestrone.
    La chiave primaria dovrebbe essere l'indirizzo email dell'utente solo che molte email sono doppie.

    Togliere quelle doppie sarebbe facilissimo il problema però è che magari su una riga ho
    email-nome-cognome
    nell'altra ho
    email-cognome-numero
    nell'altra ancora
    email-indirizzo-sito web

    io vorrei unire il tutto in un unica riga senza perdere nessuna informazione voi come mi consigliate di fare?

  2. #2
    non è chiaro il problema. fa' un esempio

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2013
    Messaggi
    20
    allora facciamo che il db è fatto cosi:

    EMAIL | NOME | COGNOME | NUMERO | INDIRIZZO | SITO WEB
    123@456.it | mario | rossi | | |
    123@456.it | | rossi | 02-1234568| |
    123@456.it | | | | via roma 3 | www.......


    Io voglio che diventi
    EMAIL | NOME | COGNOME | NUMERO | INDIRIZZO | SITO WEB
    123@456.it | mario | rossi |02-1234568 | via roma 3 | www.......

    adesso è piu chiaro?

  4. #4
    select email, max(nome), max(cognome), max(indirizzi), max(sitoweb)
    from tuatabella
    group by email

  5. #5
    Originariamente inviato da optime
    select email, max(nome), max(cognome), max(indirizzi), max(sitoweb)
    from tuatabella
    group by email
    questa query va bene. Come idea.

    Ma, se (come immagino sia) nome , cognome sono stringhe non puoi usare la funzione max.

    Tuttavia l'idea e' corretta ma devi sostituire al posto di MAX una funzione ad esempio FIRST

    Quindi FIRST(nome) , FIRST(cognome) eccetera

    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  6. #6
    Originariamente inviato da bomberdini
    Ma, se (come immagino sia) nome , cognome sono stringhe non puoi usare la funzione max.
    magari non è appropriato (samuc sceglierà in merito) ma NON è illegale usare MIN e MAX con le stringhe

  7. #7
    Originariamente inviato da optime
    magari non è appropriato (samuc sceglierà in merito) ma NON è illegale usare MIN e MAX con le stringhe
    si si puo usare ma come dici tu forse non e' appropriato
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2013
    Messaggi
    20
    e se alcuni campi sono nulli first mi prende il primo anche se nullo

  9. #9
    Originariamente inviato da samuc512
    e se alcuni campi sono nulli first mi prende il primo anche se nullo
    Metti la condizione nel where... che non sia nullo
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2013
    Messaggi
    20
    e xò cosi se c'è la riga in cui quel valore è realmente nullo me la salta del tutto

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.