---
title: "Söka i flera tabeller"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/146511-söka-i-flera-tabeller"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Calippo"
published: "2006-05-05T10:08:22.000Z"
updated: "2006-05-08T08:44:56.000Z"
replies: 8
views: 402
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/146511-söka-i-flera-tabeller"
---

# Söka i flera tabeller

## #1 — Calippo, 2006-05-05T10:08Z

Hur skriver man för att räkna ut antalet träffa i en sökning på flera tabeller?

Koden under söker bara igenom en tabell/fält:
sql = "SELECT distinct(count(tblCustomers.strCompanyname)) as intRecords FROM tblCustomers WHERE tblCustomers.strCompanyname LIKE '%" & request.querystring("keyword") & "%'"

Men om man vill söka igenom flera tabeller och typ alla fält, hur skriver man då?

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

## #2 — LarsG, 2006-05-05T11:36Z

Distinct är onödigt i detta fall.

```
select 'T1',count(*) as intRecords 
  from T1
where <villkor>
union all 
select 'T2',count(*) 
  from T2
where <villkor>
```

Flyttas från ASP

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

## #3 — Calippo, 2006-05-05T12:22Z

Jag vet inte om det är bara för att det är fredag idag, men det står helt still i huvudet idag.

Hur skriver man sql satsen för att söka efter ett ord i tex tre olika tabeller och ett antal olika fält i varje tabell?

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

## #4 — LarsG, 2006-05-05T12:47Z

Vill du veta hur många poster det finns sammanlagt i alla tabeller som uppfyller villkoren eller i varje tabell för sig?

om du vill söka efter ett begrepp i olika kolumner:

```
select count(*) 
   from t
  where c1 like '%searchTerm%'
       or c2 like '%searchTerm%'
```

om du vill summera ihop flera sökningar

```
select sum(c)
 from 
  (select count(*)  as c
   from t1
  where c1 like '%searchTerm%'
       or c2 like '%searchTerm%'
   union all
select count(*)  as c
   from t2
  where c1 like '%searchTerm%'
       or c2 like '%searchTerm%') dt
```

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

## #5 — Calippo, 2006-05-05T12:56Z

Ser bra ut, men jag får den inte att fungera...

Felmeddelande:
'Case' förväntas.

select sum(c)
 from 
 (select count(\*) as c
 from tblCustomers
 where strCompanyname like '%searchTerm%'
 or strAddress1 like '%searchTerm%'
 union all
select count(\*) as c
 from tblDomains
 where strDomainname like '%searchTerm%'
 or strFTPServer like '%searchTerm%') dt

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

## #6 — The_Hulk, 2006-05-05T12:58Z

vad använder du för databas?
MySQL eller Microsoft SQL?

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

## #7 — Calippo, 2006-05-05T13:05Z

Tyvärr bara Access databas.

Nu fick jag ordning på sql raden, men hur skriver jag ut resultatet?
Provade med \<%=Rs("c")%\> men det fungerar inte.

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

## #8 — LarsG, 2006-05-05T13:32Z

```
<%=Rs(0)%>
```

eller så får du namnge uttrycket med sum i SQL-frågan.

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

## #9 — Calippo, 2006-05-08T08:44Z

OK, nu fungerar det.

Kan man på ett lätt sätt leta igenom två eller flera tabeller (och alla fält i tabellerna) och sedan loopa ut resultatet?

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/146511-söka-i-flera-tabeller
