Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716

    [DELETE] partendo da una left join...

    dunque, io dovrei eliminare tutti i dati nella tabella_a che la query

    SELECT tabella_a.id FROM tabella_a LEFT JOIN tabella_b ON ( tabella_a.id = tabella_b.idA ) WHERE tabella_b.idA IS NULL LIMIT 1

    mi restituisce, devo farmi un ciclo while o c'è un modo di farlo con una singola query?

    naturalmente il campo idA nella tabella_b contiene l'id di una riga della tabella_a

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

  2. #2
    Puoi provare con:
    codice:
    DELETE FROM tabella_a WHERE id IN (
        SELECT tabella_a.id 
        FROM tabella_a 
        LEFT JOIN tabella_b ON ( tabella_a.id = tabella_b.idA ) 
        WHERE tabella_b.idA IS NULL 
        LIMIT 1
    )
    però il tuo "LIMIT 1" ti limita i risultati della SELECT ad uno solo...quindi la DELETE eliminerà una sola tupla...
    Administrator of NAMDesign.Net

  3. #3
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716
    hu grazie
    no il limit 1 era nella vecchia query, ho dimenticato di levarlo

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.