Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    22

    Problema nel realizzare una query relativa ad un database di cucina

    Salve a tutti,
    ho un database 'master chef' così strutturato:
    ho 4 tabelle del tipo: CUOCO (con chiave cuoco), RICETTA (con chiave ricetta e foreign key cuoco), INGREDIENTE(con chiave ingrediente), RELATIVO (che rappresenta la relazione tra la tabella ricetta e ingrediente con chiave ingrediente, ricetta e attributi peso, unità_misura).
    Devo realizzare una query che mi elenchi il peso, l'unità di misura di ciascun ingrediente relativo ad ogni ricetta sapendo che il numero dei cuochi è 8.

    Io ho strutturata la mia query nel seguente modo:

    select relativo.peso, relativo.unita, relativo.ingrediente, relativo.ricetta, ricetta.cuoco
    from ricetta, relativo
    where relativo.ricetta=ricetta.ricetta
    order by ricetta ASC;

    dove il risultato prodotto in output è di fatto corretto ma relativo a tutti i cuochi e non limitato ad 8 come richiesto dalle specifiche. Qualcuno potrebbe aiutarmi ad integrare questa parte mancante nella query per favore?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    piu o meno potrebbe essere cosi
    codice:
    SELECT 
    RE.ingrediente, 
    RE.ricetta, 
    RE.peso, 
    RE.unita, 
    CU.cuoco, 
    ((SELECT Count(CUx.cuoco) FROM CUOCO AS CUx WHERE (CUx.cuoco<CU.cuoco))+1) AS Cont
    FROM 
    (
    CUOCO AS CU 
    INNER JOIN 
    RICETTA AS RI 
    ON 
    CU.cuoco = RI.cuoco
    ) 
    INNER JOIN 
    RELATIVO AS RE 
    ON RI.ricetta = RE.ricetta
    WHERE 
    (((SELECT Count(CUx.cuoco) FROM CUOCO AS CUx WHERE (CUx.cuoco<CU.cuoco))+1)<8.5)
    ORDER BY 
    RE.ricetta
    ;
    ma di tutti i cuochi quale criterio usi per filtrarne 8 ???
    questo non ce lo hai ancora detto



    Facci sapere

  3. #3
    Dovrebbe essere così:

    SELECT A.CUOCO_NOME, B.RICETTA_NOME, D.INGREDIENTE_NOME, D.PESO, D.UNITA_MISURA
    FROM CUOCO A, RICETTA B, RELATIVO C, INGREDIENTE D
    WHERE A.CUOCO_ID=B.CUOCO_ID
    AND B.RICETTA_ID=C.RICETTA_ID AND D.INGREDIENTE_ID=C.INGREDIENTE_ID

    Ciao
    Mik

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.