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
8 svar · 383 visningar · startad av Calippo
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å?
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
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?
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
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
vad använder du för databas?
MySQL eller Microsoft SQL?
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.
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?