---
title: "sokfunktion hittar inget??"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/108393-sokfunktion-hittar-inget"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Gimbo"
published: "2004-08-02T20:39:57.000Z"
updated: "2004-08-06T03:23:44.000Z"
replies: 12
views: 583
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/108393-sokfunktion-hittar-inget"
---

# sokfunktion hittar inget??

## #1 — Gimbo, 2004-08-02T20:39Z

hejsan, har ngn nagon som helst aning om varfor detta inte funkar?? kan det vara for att jag e koplad mot en MS SQL 7.0 databas??

```
Set Conn = Server.CreateObject("ADODB.Connection")
call passwordConn()

search = Request.Form("search")

Dim RSOrder
strSql = "select o.orderid, convert(varchar(11),orderdate) as orderdate, o.ostatus, trackingnumber, WBMemo, cc_respmsg, cc_authcode, memo, c_firstname, c_lastname, cc_TimesProcessed, cc_avszip, cc_avsaddr, cc_cvv2," &_
							" isnull(convert(varchar(15),shippeddate), 'not shipped') as shippeddate, count(od.orderid) as ordercount " &_
							" from customers c, orders o, orderdetails od " &_  
							" where o.orderID LIKE '%"&search&"' " &_
							" group by o.ostatus, o.orderid, orderdate, c_firstname, c_lastname, shippeddate, trackingnumber, WBMemo, o.ostatus, cc_respmsg, cc_authcode, memo, cc_TimesProcessed, cc_avszip, cc_avsaddr, cc_cvv2" &_
							" order by o.orderid desc, o.ostatus asc"
						
set RSOrder = conn.execute(strSql)
```

vill att den skall kolla igenom kolumnen orderID som finns i tabellen orders, anledningen till att jag har relation e for att jag vill med samma sok falt kolla igenom en annan tabell i databasen oxa mha OR LIKE...

men just nu far jag inte den ens att kolla igenom en kolumn... den skriver ut nothing found.. dvs rsOrder e eof

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

## #2 — @nders, 2004-08-03T10:32Z

1) Varför gör du en like-sökning på order-id? är det inte ett talfält?
2) Är det meningen att du bara ska ha ett wildcard i sökningen, så du säger att du vill ha alla poster vars orderid slutar på söktexten?
3) Var har du joinvillkoren?
4) <http://www.webforum.nu/forumdisplay.php?s=&forumid=53>

mvh

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

## #3 — Gimbo, 2004-08-03T17:05Z

1, jo orderID ar ett talfalt, kan man inte kora like pa talfalt??
2, meningen med hela sokfunktionen ar att jag ska i ett o samma falt kunna soka efter orderID, lastName, firstName, phoneNbr osv.
3, join villkor?? vad e den till for??

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

## #4 — @nders, 2004-08-03T17:36Z

1) Varför vill du göra en LIKE-sökning på ett order-ID? 
2) Läs min fråga igen, jag förstår vad du vill ha din sökfunktion till.
3) Du hämtar från mer än en tabell, men du specificerar inte någonstans hur tabellerna hänger ihop.

mvh

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

## #5 — Gimbo, 2004-08-03T17:53Z

1, for att kunna soka poster efter orderID
2, vad e wildcard?? o jupp, vill ha det sa att soktexten visar alla poster med orderID, om det nu va det din fraga va... fan hanger inte riktigt med har
3, hur fixar jag join grejsen?? om lat oss saga att i de 2 tabellerna finns en kolumn som e likadan customerID, skriver jag inner join tabell.customerID = tabell2.customerID??

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

## #6 — @nders, 2004-08-03T18:01Z

Så man ska kunna fylla i "14" och ordrarna med id 14, 114, 214 och 4314 returneras? Jag ser inte meningen riktigt med en sådan sökning. Vad händer om man söker på "foo"? 

Ett wildcardtecken är %. Du har skrivit ditt likevillkor på så sätt att du bara har wildcardtecken *före* sökordet, och inget efter. Ska det vara så? Ska du bara söka på det som *slutar* med angivet sökord?

En join kan se ut så här:

```
SELECT tabell1.fält1, tabell2.fält1 FROM tabell1 INNER JOIN tabell2 ON tabell1.ID = tabell2.t1ID
```

Eller, ett annat alternativ för samma fråga:

```
SELECT tabell1.fält1, tabell2.fält1 FROM tabell1, tabell2 WHERE tabell1.ID = tabell2.t1ID
```

Men som sagt, du måste specificera var koppling ska göras. Jämför med detta scenario: Du ber någon att ge dig en glass med topping på. Lite senare kommer denna person tillbaka med över 700 glassar, alla olika glassar med alla olika toppings, eftersom han inte visste vad du ville ha. Nu gäller det att käka glassen fort utav helskotta, eftersom det är sommar. ;-)

mvh

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

## #7 — Gimbo, 2004-08-04T03:05Z

hahaha snyggt exempel... nej men sa vill jag INTE ha det. missuppfattade dig dar, jag vill att da de soker pa 14 sa skall endast 14 returneras.

men hur kommer join funka i min kod?? och hur fungerar det med placeringen av wildcard??

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

## #8 — @nders, 2004-08-04T05:55Z

Ska du ha en exakt jämförelse ska du inte använda LIKE, utan =. Inga wildcardtecken då heller. Dessutom är orderID ett numeriskt fält, då ska du inte ha några apostrofer runt värdet. En join kan se ut något sånt härnt:

```
strSql = "select o.orderid, convert(varchar(11),orderdate) as orderdate, o.ostatus, trackingnumber, WBMemo, cc_respmsg, cc_authcode, memo, c_firstname, c_lastname, cc_TimesProcessed, cc_avszip, cc_avsaddr, cc_cvv2," &_
							" isnull(convert(varchar(15),shippeddate), 'not shipped') as shippeddate, count(od.orderid) as ordercount " &_
							" [b]from customers c" & _
							" INNER JOIN orders o ON c.fält = o.fält" & _
							" INNER JOIN orderdetails od ON o.fält = od.fält" &_  
							" where o.orderID = "&search[/b] &_
							" group by o.ostatus, o.orderid, orderdate, c_firstname, c_lastname, shippeddate, trackingnumber, WBMemo, o.ostatus, cc_respmsg, cc_authcode, memo, cc_TimesProcessed, cc_avszip, cc_avsaddr, cc_cvv2" &_
							" order by o.orderid desc, o.ostatus asc"
```

Jag förstår inte riktigt heller din group by.

mvh

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

## #9 — OveRRidE, 2004-08-04T06:18Z

Flyttas från ASP, VBScript.

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

## #10 — Gimbo, 2004-08-05T17:52Z

hmm ok, dar har du en poang... men da kan man val nastan banta ner den dar sql fragan, what if I do this:

```
SQL = "SELECT Customers.*, Orders.* FROM Customers INNER JOIN Orders ON Customers.customerID = Orders.customerID WHERE Orders.OrderID = " &search
```

tar jag med allt i de bada tabellerna da?? hur gor jag for att man skall kunna soka pa email o sant oxo?? satter jag in en OR efter Orders.OrderID = " &search ??

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

## #11 — @nders, 2004-08-05T19:03Z

> **Gimbo skrev:**
>
> tar jag med allt i de bada tabellerna da?? hur gor jag for att man skall kunna soka pa email o sant oxo?? satter jag in en OR efter Orders.OrderID = " &search ??

Jo, men... Vad hade du tänkt skulle hända om man söker på *fjoo* eller någon annan sträng? Orderid är ett tal, då kommer du få typproblem. Du får i så fall konvertera i SQL-frågan.

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

## #12 — Gimbo, 2004-08-05T21:43Z

anders plz, lite kod... alltsa det jag mena e med den koden jag skrev inkluderar jag samtliga kolumner?? i tabellen for att sedan kolla igenom en o en med OR

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

## #13 — @nders, 2004-08-06T03:23Z

> alltsa det jag mena e med den koden jag skrev inkluderar jag samtliga kolumner??

Ja.

```
... OR fält LIKE '%" & search & "%' OR fält2 LIKE '%" & search & "%'
```

Eller förstår jag inte vad du frågar?

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/108393-sokfunktion-hittar-inget
