Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    55

    [DB] INNER JOIN problema...

    Ciao a tutti

    sono due ore che tento di fare una selezione che probabilmente è semplicissima, ma che evidentemente il mio cervello si rifiuta di elaborare.

    Dunque, ho due tabelle:

    Ricette
    ----[id_ricetta]
    ----[ingrediente]
    ----[quantita]

    Ingredienti
    ----[ingrediente]
    ----[um]
    ----[costoxum]

    Come faccio a fare una selezione che contenga:

    Ricette.ingrediente, Ingredienti.um, Ricette.quantita, conoscendo l'id_ricetta?
    In pratica devo visualizzare tutto il contenuto di Ricette (là dove id_ricetta=n) con l'indicazione dell'unità di misura dell'ingrediente, andandolo a prelevare dalla tabella "ingredienti".

    Ho provato:
    query = "SELECT Ricette.*, Ingredienti.um FROM Ricette INNER JOIN Ingredienti ON Ingredienti.ingrediente=Ricette.ingrediente WHERE Ricette.id_ricetta=" & id

    ma non ne vuole sapere...

    Se intanto qualche buon uomo mi spiega come diavolo si usa il join, mi farebbe un gran piacere, dalle varie guide che ho trovato non ci ho capito un granché.

    Grazie!

  2. #2
    Utente di HTML.it L'avatar di JamesD
    Registrato dal
    Oct 2001
    Messaggi
    415
    Secondo me ti potrebbe dare problemi Ricette.* quindi dovresti elencare tutti e tre i campi di Ricette.

    Prova però non ti assicuro niente.


  3. #3
    Utente di HTML.it L'avatar di fiber81
    Registrato dal
    Oct 2002
    Messaggi
    328
    "SELECT Ricette.ingredienti, ingredienti.um, Ricette.quantita
    FROM ingredienti INNER JOIN Ricette ON ingredienti.ingrediente = Ricette.ingredienti
    WHERE Ricette.id_ricetta=" & id
    In teria ci dovrebbe essere integrità referenziale tra i due, cioè uno a molti da ricette a ingredienti, perchè più ricette possono contenere lo stesso ingrediente.
    Spero di aver capito il problema, il join devi farlo da ingredienti a ricette.
    Fammi sapere se funziona
    Ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    55
    Sabato e domenica di mezzo...
    ma lunedì o martedì ci provo e poi ti faccio sapere.
    Ciao e grazie!

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    55
    Ho fatto che provarci, già che ero qui...

    sembra funzionare, però a questo punto mi viene da chiedermi il perchè, non mi piace fare le cose senza sapere il meccanismo... anche perchè se dovessi rifarlo...
    come funziona questa cosa delle referenze uno-a-molti, ecc...?

    Grazie dell'aiuto!

  6. #6
    Utente di HTML.it L'avatar di fiber81
    Registrato dal
    Oct 2002
    Messaggi
    328
    integrità referenziale definisce delle regole/vincoli tra tabelle. quello che hai fatto non è altro che definire una 'regola' che dice che nel campo ingredienti della tabella ricetta ci devono essere solo valori contenuti nella tab ingredienti. Il cammino di join devi farlo dalla tabella in cui contieni il campo di una altra tabella fino all'altra tabella.
    Spero di essermi spiegato, non è una cosa semplice spiegare come costruire una basi di dati in due righe.
    Se hai problemi, fammi sapere

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.