---
title: "Sökning i två tabeller"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/129657-sökning-i-två-tabeller"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "henkepenka"
published: "2005-06-08T10:08:22.000Z"
updated: "2005-06-08T16:15:50.000Z"
replies: 6
views: 291
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/129657-sökning-i-två-tabeller"
---

# Sökning i två tabeller

## #1 — henkepenka, 2005-06-08T10:08Z

Hej!
Jag har ett problem!

Jag har två stycken tabeller i databasen (mySQL). Den ena heter user och innehåller tex. userId \| userLogin\| userName \| userPass osv...

Den andra tabellen heter info och innehåller följande kolumner: Id \| Namn \| Userid \| Typ

Userid i tabellen info är samma som userId i tabellen user. Där är kopplingen mellan dem.

Problemet är att när jag söker på tex "hen" i userName (ska finnas 3 st träffar), hittas bara 2. Detta beror på att dessa två har poster i info-tabellen, det har inte den tredje. Hur ska min kod se ut? Nedan följer min nuvarande kod:

```
SQL = "SELECT user.userLogin, user.userOnline, user.userId, user.userPostort, user.userCountry, user.userLatestlogin, user.userCountLogin FROM user INNER JOIN info ON user.userId = info.Userid Where user.userId <> ''"
If Request.QueryString("userName") <> "" Then
    SQL = SQL & " And user.userName Like '%" & Request.QueryString("userName") & "%'"
End If
If Request.QueryString("userLogin") <> "" Then
    SQL = SQL & " And user.userLogin Like '%" & Request.QueryString("userLogin") & "%'"
End If
If Request.QueryString("userEmail") <> "" Then
    SQL = SQL & " And user.userEmail Like '%" & Request.QueryString("userEmail") & "%'"
End If
If Request.QueryString("userPostort") <> "" Then
    SQL = SQL & " And user.userPostort Like '%" & Request.QueryString("userPostort") & "%'"
End If
If Request.QueryString("userCountry") <> "" Then
    SQL = SQL & " And user.userCountry Like '%" & Request.QueryString("userCountry") & "%'"
End If
If Request.QueryString("userLanguage") <> "" Then
    SQL = SQL & " And user.userLanguage Like '%" & Request.QueryString("userLanguage") & "%'"
End If

If Request.QueryString("Invfas1") <> "" Then
    SQL = SQL & " And info.Namn Like '%" & Request.QueryString("Invfas1") & "%'"
End If
If Request.QueryString("Invbehov1") <> "" Then
    SQL = SQL & " And info.Namn Like '%" & Request.QueryString("Invbehov1") & "%'"
End If
If Request.QueryString("Innovation1") <> "" Then
    SQL = SQL & " And info.Namn Like '%" & Request.QueryString("Innovation1") & "%'"
End If
If Request.QueryString("Bransch1") <> "" Then
    SQL = SQL & " And info.Namn Like '%" & Request.QueryString("Bransch1") & "%'"
End If
If Request.QueryString("Geografi1") <> "" Then
    SQL = SQL & " Or info.Namn Like '%" & Request.QueryString("Geografi1") & "%'"
End If
If Request.QueryString("Sprak1") <> "" Then
    SQL = SQL & " And info.Namn Like '%" & Request.QueryString("Sprak1") & "%'"
End If

If Request.QueryString("Invfas2") <> "" Then
    SQL = SQL & " And info.Namn Like '%" & Request.QueryString("Invfas2") & "%'"
End If
If Request.QueryString("Invbehov2") <> "" Then
    SQL = SQL & " And info.Namn Like '%" & Request.QueryString("Invbehov2") & "%'"
End If
If Request.QueryString("Innovation2") <> "" Then
    SQL = SQL & " And info.Namn Like '%" & Request.QueryString("Innovation2") & "%'"
End If
If Request.QueryString("Bransch2") <> "" Then
    SQL = SQL & " And info.Namn Like '%" & Request.QueryString("Bransch2") & "%'"
End If
If Request.QueryString("Geografi2") <> "" Then
    SQL = SQL & " And info.Namn Like '%" & Request.QueryString("Geografi2") & "%'"
End If
If Request.QueryString("Sprak2") <> "" Then
    SQL = SQL & " And info.Namn Like '%" & Request.QueryString("Sprak2") & "%'"
End If

If Request.QueryString("Bransch3") <> "" Then
    SQL = SQL & " And info.Namn Like '%" & Request.QueryString("Bransch3") & "%'"
End If
If Request.QueryString("Geografi3") <> "" Then
    SQL = SQL & " And info.Namn Like '%" & Request.QueryString("Geografi3") & "%'"
End If
If Request.QueryString("Befattning3") <> "" Then
    SQL = SQL & " And info.Namn Like '%" & Request.QueryString("Befattning3") & "%'"
End If
If Request.QueryString("Sprak3") <> "" Then
    SQL = SQL & " And info.Namn Like '%" & Request.QueryString("Sprak3") & "%'"
End If

If Request.QueryString("Bransch4") <> "" Then
    SQL = SQL & " And info.Namn Like '%" & Request.QueryString("Bransch4") & "%'"
End If
If Request.QueryString("Geografi4") <> "" Then
    SQL = SQL & " And info.Namn Like '%" & Request.QueryString("Geografi4") & "%'"
End If
If Request.QueryString("Befattning4") <> "" Then
    SQL = SQL & " And info.Namn Like '%" & Request.QueryString("Befattning4") & "%'"
End If
If Request.QueryString("Sprak4") <> "" Then
    SQL = SQL & " And info.Namn Like '%" & Request.QueryString("Sprak4") & "%'"
End If

SQL = SQL & " Order By user.userId"

Set users = Com.execute(SQL)
```

Tack på förhand!

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

## #2 — LarsG, 2005-06-08T10:57Z

Byt

```
FROM user INNER JOIN info
```

mot

```
FROM user left outer JOIN info
```

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

## #3 — henkepenka, 2005-06-08T11:57Z

Nu uppstår ett annat problem:

Problemet är att när jag söker på tex "hen" i userName (ska finnas 3 st träffar), hittas 3 användare, men en av användarna hittas 5 gånger...detta beror på att den användaren har 5 poster i info-tabellen.

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

## #4 — henkepenka, 2005-06-08T12:14Z

löste det med Distinct...

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

## #5 — henkepenka, 2005-06-08T12:16Z

Men om Invfas1 = "Starta upp" och Invbehov1 = "0-1" så hittas inga träffar...
...Beror ju på att vilkoret blir And info.Namn Like '%Starta upp%' And info.Namn Like '%0-1%'...

...det vilkoret kan ju inte uppstå...hur ska jag lösa detta?

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

## #6 — henkepenka, 2005-06-08T13:30Z

Ingen som vet hur jag ska göra med min sökning?

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

## #7 — LarsG, 2005-06-08T16:15Z

Du får väl byta från and till or (och hålla reda på parenteserna). Du behöver även flytta alla villkor på info-tabellen från where till on.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/129657-sökning-i-två-tabeller
