Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [MySQL] Macchina con movimento solo in ingresso

    Salve a tutti , ho un magazzino in cui vengono registrate in una tabella le movimentazioni delle macchine e tra le quali ho con id=1 ingresso e id=14 uscita io dovrei estrapolare una lista di macchine che hanno solo il movimento in ingresso ma non quello in uscita :

    codice:
    Select 
    id_macchina,
    macchina.seriale,
    movimenti_magazzino.created_at
    from movimenti_magazzino
    join macchina on movimenti_magazzino.id_macchina=macchina.id
    join tipo_movimentazione on movimenti_magazzino.id_tipo_movimentazione=tipo_movimentazione.id
    where tipo_movimentazione.id=1
    // e non è presente la movimentazione con id = 14
    group by id_macchina
    potri fare una join con tutti i movimenti =1 e tutti i movimenti =14 e trovare i mancanti ma ho anche delle macchine che rientrano quidi hanno più volte 1 (ma anche più volte 14) .

    Come provcedo

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Non ho modo di provarlo ora, ma direi una cosa del genere:

    codice:
    SELECT A1.id_macchina, M.seriale, ...
    FROM macchina M
       LEFT JOIN (
          SELECT id_macchina, COUNT(*) AS QuantiIngressi
          FROM movimenti_magazzino
          WHERE id_tipo_movimentazione = 1
          GROUP BY id_macchina
       ) A1 ON (M.id = A1.id_macchina)
       LEFT JOIN (
          SELECT id_macchina, COUNT(*) AS QuanteUscite
          FROM movimenti_magazzino
          WHERE id_tipo_movimentazione = 14
          GROUP BY id_macchina
       ) A2 ON (A1.id_macchina = A2.id_macchina)
    WHERE A1.QuantiIngressi > 0 AND (A2.QuanteUscite IS NULL OR A2.QuanteUscite < A1.QuantiIngressi)
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.