Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    [MySQL] popolare le parti vuote del LEFT JOIN

    Salve a tutti... ho 2 tabelle una con i dati di alcuni materiali ed l'altra con le categorie che questi materiali possono avere. In più ho una tabella di appoggio che contiene id_cat ed id_mat per associare le categorie ai materiali.
    Avendo importato materiali da un altro DB mi trovo che nessun materiale ha una categoria. In php basta fare ciclo e correggo il DB, ma mi chiedevo se esisteva una query per fare tutto al volo. Cioè controllare i materiali che non hanno almeno una categoria ed assegnarne una di default.
    Grazie
    Rino
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    231
    Originariamente inviato da darkhero
    tipo una cosa del genere ? :

    codice:
    $query = mysql_query("UPDATE tabella SET categoria = 'cat_default' WHERE categoria is NULL");
    ovviamente aggiungi prima il valore di 'cat_default' nella tabella categorie per avere la relazione corretta.
    Se la risposta ti è stata in qualche modo di aiuto o ti va di supportarmi metti "mi piace" alla pagina a questo link

    https://www.facebook.com/blogprogrammatori

    Non ti costa nulla!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    231
    Originariamente inviato da darkhero
    ??? cosa stai dicendo enkh ? quello è il valore che vuole mettere lui invece del valore NULL....

    esempio:

    campo: categoria
    valore: null

    diventa:

    campo: categoria
    valore: cat_default

    Con la query postata sopra.
    Se la query fosse stata :
    codice:
    $query = mysql_query("UPDATE tabella SET categoria = 'tre' WHERE categoria is NULL");
    avrebbe avuto:

    campo: categoria
    valore : tre
    Stavo solo ricordando di inserire nella tabelle categorie la riga con il valore di default con cui relazionarla. Che facciamo? Non glielo vuoi mettere?
    Se la risposta ti è stata in qualche modo di aiuto o ti va di supportarmi metti "mi piace" alla pagina a questo link

    https://www.facebook.com/blogprogrammatori

    Non ti costa nulla!!

  4. #4
    Originariamente inviato da darkhero
    ??? cosa stai dicendo enkh ? quello è il valore che vuole mettere lui invece del valore NULL....
    Enkh ha fatto una osservazione corretta

    ovviamente aggiungi prima il valore di 'cat_default' nella tabella categorie per avere la relazione corretta.

    medita




  5. #5
    si ma al volo facendo un LEFT JOIN tra materiali e categorie... quindi una query sola che mi modifica i risultati della LEFT JOIN
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    231
    la categoria di default la inserisce una sola volta per tutta la vita
    poi con quell'unica query imposti il valore di quella categoria al posto di tutti i valori null importati.
    Se la risposta ti è stata in qualche modo di aiuto o ti va di supportarmi metti "mi piace" alla pagina a questo link

    https://www.facebook.com/blogprogrammatori

    Non ti costa nulla!!

  7. #7
    Originariamente inviato da Enkh
    la categoria di default la inserisce una sola volta per tutta la vita
    poi con quell'unica query imposti il valore di quella categoria al posto di tutti i valori null importati.
    ovvio che la soluzione vale per i dati presenti al momento della UPDATE attento ai dati futuri: se l'utente non attribuisce categorie, metti tu da programma quella di default

  8. #8
    dark, piedi per terra. "cat_default" non è il default della colonna, è un record nella tabella delle categorie, che deve esistere, altrimenti si invalida la relazione


  9. #9
    Originariamente inviato da darkhero
    ... Forse sto facendo confusione io , o voi , ...

    buona la prima che hai detto

  10. #10
    evidentemente non ti sei preso la briga di rileggere con attenzione quello che ha scritto Enkh

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.