---
title: "Slå ihop två tabeller på nå vis!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/191095-slå-ihop-två-tabeller-på-nå-vis"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Asa"
published: "2013-01-24T16:01:50.000Z"
updated: "2013-01-30T07:03:40.000Z"
replies: 10
views: 1060
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/191095-slå-ihop-två-tabeller-på-nå-vis"
---

# Slå ihop två tabeller på nå vis!

## #1 — Asa, 2013-01-24T16:01Z

Jar en tabell med produkter och en med kategorier. I kategoritabellen har jag ett fält som heter visa. Om den är satt till 1 skall produkter visas på en sida där man söker ut produkter. Är den satt till 0 skall såklart inte produkten visas. Min produktsökning som jag har idag ser ut så här:

```
SELECT * FROM varor Where visa=1 and (kat1<>0 or tkat1<>0 or kat2<>0 or tkat2<>0 or kat3<>0 or tkat3<>0) and (huvudprodukt like '%$term%' or produkt like '%$term%' or beskrivning like '%$term%')
```

Kategori Tabellen:

```
kategorier
 - kategori - namn
 - katID - tal unikt id
 - tkatID - 0 vid huvudkategori, annars katID så man vet vilken kategori den hör till
 - visa - 1= visa, 0=dölj
```

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

## #2 — Asa, 2013-01-24T18:20Z

Ingen som vet hur man på nåt vis i min kontroll får in och kollar mot kategoritabellen?!

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

## #3 — invecklaren, 2013-01-24T19:14Z

Hur ser produkttabellen ut?

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

## #4 — Asa, 2013-01-24T19:37Z

varor:
prodID - unikt id
huvudprodukt - text
produkt - text
beskrivning - text
visa - tal
kat1 - tal
tkat1 - tal
kat2 - tal
tkat2 - tal
kat3 - tal
tkat3 - tal

Man skall kunna välja tre kategorier till varje produkt. kat är kategorins id och sen tkat är kat´s överkategori. Därav denna: kat1\<\>0 or tkat1\<\>0 or kat2\<\>0 or tkat2\<\>0 or kat3\<\>0 or tkat3\<\>0

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

## #5 — Asa, 2013-01-29T07:14Z

Ingen som har nån aning hur man skall skriva?!

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

## #6 — plekanec, 2013-01-29T14:42Z

Du borde använda en kopplingstabell istället för att köra med massa extra kolumner.

Vad exakt är det du vill få ut? Hänger inte riktigt med

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

## #7 — Asa, 2013-01-29T17:05Z

Hur tänker du nu? Kan du förklara hur kopplingstabellen skall se ut?

En produkt kan ligga under 3 olika kategorier. Nu har jag en sida där jag söker produkter och jag tänkte göra om så att man kan välja att en kategori är aktiv eller inte. Så om det skulle vara att kategorierna är inaktiva skall ej produkten visas.

Men det kanske är smartare att göra som du menar men som sagt, hur skall det se ut och hur hämtar man det då?

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

## #8 — Gildebrand, 2013-01-29T17:29Z

En bättre struktur är att ha en tabell "product_category" med två kolumner. Ena kolumnen "product" och andra "category". På så vis kan man koppla en produkt till hur många kategorier man vill. Lägg primary key över båda kolumnerna så slipper du dubletter.

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

## #9 — Asa, 2013-01-29T17:51Z

Okej, skall kika på hur enkelt det blir att göra om detta nu när jag har allt klart. Men hur hämtar man sen då om man har aktiv och inte aktiv i en kategori?!

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

## #10 — aasah, 2013-01-29T22:43Z

Exempel: Hämtar alla produkter (endast en gång) som tillhör minst en aktiv kategori om Aktiva sådana är 1 och inaktiva 0 i en bitkolumn:

```
SELECT DISTINCT P.* FROM Product P INNER JOIN Category C ON P.CategoryID = C.CategoryID AND C.IsActive = 1
```

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

## #11 — Asa, 2013-01-30T07:03Z

Tackar, ska testa :)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/191095-slå-ihop-två-tabeller-på-nå-vis
