---
title: "Söka i flera tabeller med olika många värden?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/176364-söka-i-flera-tabeller-med-olika-många-värden"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Melea"
published: "2009-01-15T14:06:27.000Z"
updated: "2009-01-15T17:07:27.000Z"
replies: 7
views: 549
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/176364-söka-i-flera-tabeller-med-olika-många-värden"
---

# Söka i flera tabeller med olika många värden?

## #1 — Melea, 2009-01-15T14:06Z

Hej!

Jag har två tabeller jag vill söka i. tbl_recipes och tbl_recipes_ingredient.
tbl_recipes har två kolumner, recipe_name och recipe_info.
tbl_recipe_ingredient har en kolumn jag vill söka i, ingredient_name, men det kan finnas mer än 1 rad, beroende på hur många ingredienser receptet har.

Finns det något smidigt sätt att söka i tbl_recipe_ingredient? Så här ser det ut nu:

```
select 
	r.recipe_id, 
	r.recipe_name, 
	r.recipe_info
from 
	tbl_recipe r
left join 
	tbl_recipe_ingredient i on i.recipe_id = r.recipe_id
where 
	r.recipe_info like '%' :search_query '%' or 
	r.recipe_name like '%' :search_query '%'
```

Men jag får inte ihop sökningen till tbl_recipe_ingredient.

Tacksam för all hjälp man kan få!  :bire

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

## #2 — Peter S, 2009-01-15T14:08Z

...or
i.ingredient_name like '%' :search_query '%'

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

## #3 — Melea, 2009-01-15T14:37Z

Okej, det där var löjligt, måste ha skrivit fel någonstans, tack! :)
En följdfråga: Jag har recepten uppdelade i kategorier, som ligger i recipe_category, hur gör jag om jag endast vill söka i kategorier jag väljer via checkboxar?

```
<input type="checkbox" name="category_id[]" value="1" /> Kött
<input type="checkbox" name="category_id[]" value="2" /> Fisk
<input type="checkbox" name="category_id[]" value="3" /> Veg
```

Testade med

```
select 
	r.recipe_id, 
	r.recipe_name, 
	r.recipe_info
from 
	tbl_recipe r
left join 
	tbl_recipe_ingredient i on i.recipe_id = r.recipe_id
left join 
	tbl_recipe_category c on c.recipe_id = r.recipe_id
where 
	r.recipe_info like '%' :search_query '%' or 
	r.recipe_name like '%' :search_query '%' or
	i.ingredient_name like '%' :search_query '%' and
	c.category_id = :category_id
```

Men det vill inte.

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

## #4 — Peter S, 2009-01-15T14:52Z

I.o.m. att du kan få flera värden från checkboxarna skulle du kunna skapa en kommaseparerad lista och stoppa i :category\_*ids*. Sedan:

```
select 
	r.recipe_id, 
	r.recipe_name, 
	r.recipe_info
from 
	tbl_recipe r
left join 
	tbl_recipe_ingredient i on i.recipe_id = r.recipe_id
left join 
	tbl_recipe_category c on c.recipe_id = r.recipe_id
where 
	(r.recipe_info like '%' :search_query '%' or 
	r.recipe_name like '%' :search_query '%' or
	i.ingredient_name like '%' :search_query '%') and
	c.category_id in (:category_ids)
```

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

## #5 — Melea, 2009-01-15T16:04Z

Testade men får det inte att funka, den verkar ta vilket resultat som helst. Såhär gjorde jag listan.

```php
foreach ($this->category as $value)
	$this->category_ids .= $value . ',';

$this->category_ids = substr($this->category_ids, 0, -1);
```

Den skapar en lista som kan se ut såhär: 1,6,8

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

## #6 — Peter S, 2009-01-15T16:59Z

Har du med parenteserna kring de OR:ade villkoren också?

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

## #7 — Melea, 2009-01-15T17:07Z

Nix, nu funkar det! Tusen tack! :bire

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

## #8 — Peter S, 2009-01-15T17:07Z

:bire

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/176364-söka-i-flera-tabeller-med-olika-många-värden
