Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433

    Delete su 3 tabelle con parametri

    Ciao

    allora ho le seg tabelle
    i campi con * sono le chiavi

    ODR
    *ido
    trasferito
    .....

    SPEODR
    *ido
    trasferito
    .....


    EPODR
    *ido
    trasferito
    .....

    ora dovrei creare una query che passato il riferimento dell' ido mi elimina tutti i record presenti nelle 3 tabelle con in più la condizione che trasferito sia = 0 (per tutte le tab)

    soluzione1 - 3 query distinte

    soluzione2 - 2 query di cui una unisce 2 tab con il join

    soluzione3 ???????????? una query per tutto???

    grazie
    ciao
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

  2. #2
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    mmmm usa la sol 3

    delete from tabella1 t1 , tabella t2 , tabella3 t3 where t1.ido= $cod OR t2.ido=$cod OR t3.ido=$cod.

    Dovrebbe andare ovviamente testala prima di metterla su.

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433
    no... scusate... mi sono "espresso" male... (mi farò con la Mokka ) VVoVe: VVoVe: (che battutaccia)


    quello che volevo sapere io è come costruire la query unica che elimina tutto sulle 3 tabelle.
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

  4. #4
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    prova con una query come te l'ho scritta sopra se noti manipola le 3 tabelle che hai.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433
    la qry

    Codice PHP:
    $delodr="DELETE from odr t1,speodr t2,epal t3 where t1.ido= $cod OR t2.ido=$cod OR t3.ido=$cod"
    non funziona ... non elimina nulla da nessuna tabella...

    credo che serva un join tra 3 tabelle.... ma come si fà???
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433
    :quote:
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

  7. #7

    Re: Delete su 3 tabelle con parametri

    Originariamente inviato da Urbanus
    .......
    ora dovrei creare una query che passato il riferimento dell' ido mi elimina tutti i record presenti nelle 3 tabelle con in più la condizione che trasferito sia = 0 (per tutte le tab)
    prova con:

    codice:
    delete ODR, SPEODR, EPODR
    from ODR 
    inner join SPEODR ON ODR.ido = SPEODR.ido
    inner join EPODR ON SPEODR.ido = EPODR.ido
    where 
    ODR.ido = '$tuo_ido'
    AND ODR.trasferito = 0
    AND SPEODR.trasferito = 0
    AND EPODR.trasferito = 0

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

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433
    nota: la tabella epodr è stata rinominata in epal
    Codice PHP:
                               $qrygen="delete odr,speodr,epal from 
                        odr
                        inner join speodr ON odr.ido = speodr.ido
                        inner join epal ON speodr.ido = epal.ido
                        where 
                        odr.ido = 
    $ido 
                        AND odr.trasferito = 0
                        AND speodr.trasferito = 0
                        AND epal.trasferito = 0"
    ;

                        
    mysql_query($qrygen,$con);
                        echo 
    mysql_error(); 
    errore

    Codice PHP:
    Errore di sintassi nella query SQL vicino a 'AND odr.trasferito = 0 AND speodr.trasferito = 0 AND epal.trasferito' linea 7Errore di sintassi nella query SQL vicino a 'AND odr.trasferito = 0 AND speodr.trasferito = 0 AND epal.trasferito' linea 7 
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433
    scusami piero.mac , la tua qry funziona alla grande solo che ho sbagliato a scrivere proprio la stringa... grazie mille


    immagino che qmc la cosa valga anche per UPDATE

    Codice PHP:
    $qrygen="UPDATE odr,speodr,epal from
                        odr
                        inner join speodr ON odr.ido = speodr.ido
                        inner join epal ON speodr.ido = epal.ido
                        set 
                        odr.trasferito = 1
                        spedodr.trasferito = 1
                        epal.trasferito = 1
                        where
                        odr.ido§=
    $ido 
    giusto??
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

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.