Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Hilfe bei einem Befehl.

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Kimy86, 27 Juni 2012.

  1. Kimy86

    Kimy86 Neuer Benutzer

    Hallo Leute ich erstelle mir gerade eine Rezept DB. sie sieht wie folgt aus. Jetzt wollte ich mir einen Befehl erstellen wie ich Zutaten eingebe und das Rezept mit Nährwerten ausgegeben wird. Ich hab es zwar geschafft einen zu erstellen der mich direkt nach dem Rezept suchen lässt, allerdings komm ich hier nicht weiter. Ich würd mich freuen wenn der ein oder andere einen Code für mich hätte.

    Code:
    CREATE TABLE `db`.`Naehrwerte` (
    `ID` INT NOT NULL ,
    `Name` VARCHAR( 100 ) NOT NULL ,
    `Kcal` INT NOT NULL ,
    `Eiweis` INT NOT NULL ,
    `Kohlenhydrate` INT NOT NULL ,
    `Fett` INT NOT NULL ,
    PRIMARY KEY ( `ID` )
    ) ENGINE = InnoDB ;
     
     
    CREATE TABLE `db`.`Rezepte` (
    `ID` INT NOT NULL ,
    `Name` VARCHAR( 100 ) NOT NULL ,
    `Typ` VARCHAR( 20 ) NOT NULL ,
    PRIMARY KEY ( `ID` )
    ) ENGINE = InnoDB;
     
     
    CREATE TABLE `db`.`Zutaten` (
    `Zutat_ID` INT NOT NULL ,
    `Rezept_ID` INT NOT NULL ,
    `Menge` VARCHAR( 50 ) NOT NULL ,
    INDEX ( `Zutat_ID`,`Rezept_ID` ),
    FOREIGN KEY (`Rezept_ID`) REFERENCES Rezepte (ID),
    FOREIGN KEY (`Zutat_ID`) REFERENCES Naehrwerte (ID)
    ) ENGINE = InnoDB ;
     
    INSERT INTO `db`.`Rezepte` (`ID`, `Name`, `Typ`) VALUES ('1', 'Palatschinken', 'Vegetarisch'), ('2', 'Tomatensuppe', 'Vegetarisch'), ('3', 'Rindschinkenscheiben', 'Karnivore'), ('4', 'Veganes Haehnchen mit Reis', 'Vegan');
     
     
    INSERT INTO `db`.`Naehrwerte` (`ID`, `Name`, `Kcal`, `Eiweis`,
    `Kohlenhydrate`, `Fett`) VALUES
    ('1', 'Ei', '1', '1', '1', '1'),
    ('2', 'Mehl', '1', '1', '1', '1'),
    ('3', 'Zucker', '1', '1', '1', '1'),
    ('4', 'Milch', '1', '1','1', '1'),
    ('5', 'Rinderbrust', '1', '1', '1', '1'),
    ('6', 'Salz', '1', '1', '1', '1'),
    ('7', 'Pfeffer', '1', '1', '1', '1'),
    ('8', 'Zwiebel', '1', '1', '1', '1'),
    ('9', 'Knoblauch', '1', '1', '1', '1'),
    ('10', 'Tomatenmark', '1', '1', '1', '1'),
    ('11', 'Gemüsebrühe', '1', '1', '1', '1'),
    ('12', 'Reis', '1', '1', '1', '1'),
    ('13', 'Tomaten', '1', '1', '1', '1'),
    ('14', 'Sahne', '1', '1', '1', '1');
     
    INSERT INTO `db`.`Zutaten` (`Zutat_ID`, `Rezept_ID`, `Menge`) VALUES ('12','4', '1 Kilo'), ('9', '4', '2 Zehen'), ('6', '4', '10 Gramm'), ('8', '2','1 Stueck'), ('13', '2', '6 Stueck'), ('9', '2', '1 Zehe'), ('10', '2', '10Gramm'), ('11', '2', '1 Liter'), ('14', '2', '50 Mililiter'), ('5', '3','1 Kilo'), ('6', '3', '25 Gramm'), ('7', '3', '5 Gramm'), ('3', '3', '2Gramm'), ('2', '1', '40 Gramm'), ('3', '1', '10 Gramm'), ('4', '1', '100Mililiter'),  ('1', '1', '1');
    
     
  2. PLSQL_SQL

    PLSQL_SQL Datenbank-Guru

    Hy,

    entweder bin ich blind oder dir fehlt die Beziehung zwischen Zutaten und Nährwerte, damit du ermitteln kannst, welche Zutat welche Nährwerte hat....

    Lg
     
  3. ukulele

    ukulele Datenbank-Guru

    Eine Zwischentabelle ist ja vorhanden.
    Code:
    SELECT    r.Name,
            r.Typ,
            n.Name,
            z.Menge,
            n.Kcal,
            n.Eiweis,
            n.Kohlenhydrate,
            n.Fett
    FROM    Rezepte r,
            Zutaten z,
            Naehrwerte n
    WHERE    r.ID = z.Rezept_ID
    AND        z.Zutat_ID = n.ID
    Damit sollte sich alles abbilden lassen.
     
    PLSQL_SQL gefällt das.
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden