Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Delete con un join

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    168

    Delete con un join

    Grazie a tutti in anticipo

    Allora :

    ho 2 tabelle in MySql Movimenti e Articoli

    Nella tabella articoli ho un campo che si chiama TIPO

    Nella tabella movimenti ho il campo di relazione che si chiama NUMEROARTICOLO

    Devo cancellare tutti i records della tabella movimenti relativi agli articoli di tipo='B'

    Posso fare una query tipo :

    delete from movimenti where articoli.tipo='B'
    inner join articoli on articoli.numeroarticolo=movimenti.numeroarticolo

    oppure

    delete from movimenti where numeroarticolo= select numeroarticolo from articoli where tipo='B'

    Mi sapreste dare una mano

    Grazie

    Max

  2. #2
    codice:
    Multiple-table syntax: 
    
    DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
        tbl_name[.*] [, tbl_name[.*]] ...
        FROM table_references
        [WHERE where_condition]
    quindi niente uso di JOIN forma ansi (inner join) ma solo forma theta (from a, b) ed equi-join in where. Senza l'uso di alias.

    codice:
    DELETE tab1
    from tab1, tab2
    where tab1.id = tab2.id

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    168
    scusa l'ignoranza ma :

    cerco di tradurre con la mia query ma non riesco a capire dove metto la where articoli.tipo='B'

    delete magazzino
    from magazzino, articoli
    where magazzino.numeroarticolo=articoli.numeroarticolo


    Grazie per l'aiuto

    Max

  4. #4
    Originariamente inviato da Max-Soft
    scusa l'ignoranza ma :

    cerco di tradurre con la mia query ma non riesco a capire dove metto la where articoli.tipo='B'

    delete magazzino
    from magazzino, articoli
    where magazzino.numeroarticolo=articoli.numeroarticolo


    Grazie per l'aiuto

    Max
    delete magazzino
    from magazzino, articoli
    where magazzino.numeroarticolo = articoli.numeroarticolo
    AND articoli.tipo = 'B'


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

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    168
    mi da sempre un errore

    "you have a error in your SQL syntax near 'magazzino from magazzino ecc. '

    dove può essere secondo te l'errore

    Grazie mille

  6. #6
    posta la query che fai.

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

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    168
    ho esattamente ricopiato la tua con l'unica eccezione che il campo non è TIPO ma NUMEROCATEGORIA

    delete magazzino
    from magazzino, articoli
    where magazzino.numeroarticolo = articoli.numeroarticolo
    AND articoli.numerocategoria = 2


    Grazie ancora

  8. #8
    "you have a error in your SQL syntax near 'magazzino from magazzino ecc. '


    l'errore e' fra delete e magazzino ....

    quale versione hai di mysql?

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

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    168
    controllato con una versione 5 di MySQL và bene

    Grazie ancora

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.