webForumDet fria alternativet

Sökning i hela databasen utan att specificera tabell.

ASP

6 svar · 231 visningar · startad av StefanP

Medlem sedan jan. 200284 inlägg
Frågan#1

Halloj.
Jag har en databas med ca 15 tabeller.
Kan man söka igenom alla dom utan att behöva specificera alla tabeller?
blir så mycket om man skall behöva skriva

SQL = "select * from tabell, tabell2, tabell3"

OSV.

Kan man inte specifisera att den bara ska söka igenom hela databasen.

[Redigerat av StefanP den 07 feb 2002]

Medlem sedan dec. 200012 464 inlägg
#2

Nej. Om du har det behovet så är din datamodell felaktig.

------------------
essentitia preter non sans multiplicandum

Medlem sedan jan. 200284 inlägg
#3

Jag har gjort en stor konceptbeskrivning.
Varje del av konceptbeskrivningen har fått en egen tabell. Så jag lätt håller reda på allt.
Tex; Säkerhet, DELI, Koncept osv.
Ja tycker det fungerar bra.

Men då får jag skriva in alla tabeller den skall söka igenom?

hur ser då sql koden ut om man vill söka igenom tex 4 tabeller? men inte vill specificera kollumner?

sql="SELECT * FROM tabell1, tabell2, tabell3, tabell4 WHERE [b]kollumn[/b] LIKE '%"&sok&"%'"'

JA vill alltså att den går igenom "alla" kollumner i respektive tabell. Måste jag specificera kollumner då också ?

[Redigerat av StefanP den 07 feb 2002]

Medlem sedan jan. 200284 inlägg
#4

Detta kanske fungerar?

sql="SELECT * FROM tabell1, tabell2, tabell3, tabell4 LIKE '" & strSearch & "'"

?

Medlem sedan dec. 200012 464 inlägg
#5

Det finns inga wildcard för kolumner utan du måste alltid ange dom explicit.

Om du skriver

select * from t1,t2,t3 
 where t1.c1 like '%fetur%'
    or t2.c2 like '%fetur%'
    or t3.c3 like '%fetur%'

så får du kryssprodukten av alla poster som uppfyller villkoret.

Om du vill söka i flera tabeller så skall du använda en union istället.

select * from t1
where t1.c1 like '%fetur%'
union select * from t2
where t2.c2 like '%fetur%'
union select * from t3
where t3.c3 like '%fetur%'

Jag tycker ändå att din datamodell inte är riktig.

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 07 feb 2002]

Medlem sedan jan. 200284 inlägg
#6

Ok.
Om jag inte vill använda mig av wildcars så dom måste söka på Exakta namnet.
Kör jag då 'fetur' istället för '%fetur%' ?

[Redigerat av StefanP den 07 feb 2002]

Medlem sedan dec. 200012 464 inlägg
#7

Jo, % är bara relevant om man använder like.

------------------
essentitia preter non sans multiplicandum

1615 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
1478 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
1479 ms — ändringar (db)