---
title: "Om det finns poster, gör detta?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/176326-om-det-finns-poster-gör-detta"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Melea"
published: "2009-01-13T16:19:08.000Z"
updated: "2009-01-15T14:01:41.000Z"
replies: 4
views: 489
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/176326-om-det-finns-poster-gör-detta"
---

# Om det finns poster, gör detta?

## #1 — Melea, 2009-01-13T16:19Z

Hej hej,

jag har fyra tabeller, **tbl_recipe**, **tbl_recipe_ingredient**, **tbl_producer** och **tbl_producer_product**.
Relationen är följande, recipe innehåller receptet, varje recept har x antal olika ingredienser, typ:

**tbl_recipe**
recipe_id, recipe_name, recipe_info
1, Mormor Karins hallonpaj, En massa info här

**tbl_recipe_ingredient**
recipe_id, ingredient_id, ingredient_name, ingredient_measure
1, 1, Hallon, 2 dl
1, 2, Mjöl, 1 dl
1, 3, Socker, 1 dl

Jag har också en tabell med producenter och deras råvaror som ser ut såhär:

**tbl_producer**
producer_id, producer_name
1, Nisses ekogård

**tbl_producer_product**
producer_id, product_id, product_name
1, 1, Hallon
1, 2, Socker

När jag skriver ut alla ingredienser till ett recept så skulle jag vilja kolla om det finns några med exakt samma namn i **tbl_producer_product**.
Och om det gör det få ut ett resultat som gör att jag kan på ett enkelt vis göra, typ: if ($result\['producer_product'\] \> 0).

Det är MySQL och PHP jag använder. Enormt tacksam för all hjälp jag kan få!

Permalänk: https://www.webforum.nu/p/176326

## #2 — effata, 2009-01-13T16:43Z

Den enklaste lösningen med den struktur du har idag skulle vara att göra en LEFT JOIN från tbl_recipe_ingredient till tbl_producer_product. För mindre datamängder går det bra. Men om du räknar med större datamängder skulle jag absolut skapa en tbl_product och lägga in product_id i både ingredient och producer_product.

Permalänk: https://www.webforum.nu/p/2165365

## #3 — Melea, 2009-01-13T21:28Z

Tack för svaret.

LEFT JOIN funkar inte. Om jag kör en LEFT JOIN så skriver den bara ut ingredienserna som matchar de produkter som finns i tbl_producer_product.

Fler tips?

Permalänk: https://www.webforum.nu/p/2165419

## #4 — effata, 2009-01-14T22:48Z

```
SELECT i.*, p.product_id, p.producer_id
FROM tbl_recipe_ingredient i
LEFT JOIN tbl_producer_product p ON i.ingredient_name = p.product_name
WHERE i.recipe_id = 1
```

Den kommer funka. product_id och producer_id kommer vara NULL om det inte finns någon rad i tbl_producer_product.

Permalänk: https://www.webforum.nu/p/2165553

## #5 — Melea, 2009-01-15T14:01Z

Japp, löste det på det viset, tänkte först att jag kunde göra allt i en och samma sql-fråga, men var tvungen att köra en till fråga innuti while-loopen.

Tack! :)

Permalänk: https://www.webforum.nu/p/2165599

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/176326-om-det-finns-poster-gör-detta
