---
title: "Jämföra från en post med flera."
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/173862-jämföra-från-en-post-med-flera"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Fredde Mannen"
published: "2008-09-05T08:05:14.000Z"
updated: "2008-09-05T11:17:20.000Z"
replies: 2
views: 494
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/173862-jämföra-från-en-post-med-flera"
---

# Jämföra från en post med flera.

## #1 — Fredde Mannen, 2008-09-05T08:05Z

Den SP som jag använt för sökning har funkat bara fint tills givetvis en kund vill förbättra sökfunktionen, eftersom SPn har ex. antal år på nacken och kunder har inte haft några större krav på sökfunktionen så har den funkat och varit tillfredställande. Iofs inte jag som skrivit den från början, men i alla fall här kommer mitt försök att förklara problemet. 

Innan min modifiering för att förbättra sökfunktionen så kunde man enkelt kolla vilka träffar som fanns inom: 

```
.. (@ObjektIdavdelning_o = null OR T_PUP_PERSONUPPGIFTER.OBJ_ID_ORGANISATIONSTILLHORIGHET IN (SELECT OBJ_ID FROM #ObjektTemp)) ..
```

Detta funkade bra eftersom T_PUP_PERSONUPPGIFTER fanns med i den huvudsakliga selectsatsen. 

```
	SELECT DISTINCT
		T_FOG_FORSLAG.FOG_DIARIENUMMER As Diarienummer,
		T_FOG_FORSLAG.FOG_NAMN AS Namn,
		FOG_INLAMNAT_DATUM AS InlamnatDatum,
		FTS_NAMN AS Forslagsstatus,
		T_FOG_FORSLAG.FOG_ID AS Id,
		T_FGG_FORSLAGSGIVARE.FGG_ANONYM as Anonym
	FROM T_FOG_FORSLAG, T_PUP_PERSONUPPGIFTER, T_FGG_FORSLAGSGIVARE, T_FTS_FORSLAGSSTATUS
	WHERE
			T_FGG_FORSLAGSGIVARE.FOG_ID = T_FOG_FORSLAG.FOG_ID AND
			T_FOG_FORSLAG.FTS_ID = T_FTS_FORSLAGSSTATUS.FTS_ID AND
			T_FOG_FORSLAG.FOG_ID = T_FGG_FORSLAGSGIVARE.FOG_ID AND
(@ObjektIdavdelning_o = null OR T_PUP_PERSONUPPGIFTER.OBJ_ID_ORGANISATIONSTILLHORIGHET IN (SELECT OBJ_ID FROM #ObjektTemp))  AND ...
```

Som nu är grovt om skriven till: 

```
select
		fog.FOG_DIARIENUMMER As Diarienummer,
		fog.FOG_ID AS Id,
		fog.FOG_NAMN AS Namn,
		fog.FOG_INLAMNAT_DATUM AS InlamnatDatum,
		fts.FTS_NAMN AS Forslagsstatus,
		fgg.FGG_ANONYM As Anonym
	from
		T_FOG_FORSLAG fog inner join 
			(
				select 
					ifog.FOG_ID,
					(Count(*) * 1.0 / @Wordcount) as traffpoang
				from
					T_FOG_FORSLAG ifog 
				inner join @Table tbl on 
							 ' '+ ifog.FOG_DIARIENUMMER+' '+ifog.FOG_NAMN+' '+CONVERT(VARCHAR(8000),ISNULL(ifog.FOG_PROBLEMBESKRIVNING,''))+' '+CONVERT(VARCHAR(8000),ISNULL(ifog.FOG_FORSLAG,'')) +' '+CONVERT(VARCHAR(8000),ISNULL(ifog.FOG_FORVANTAT_RESULTAT,'')) + '' LIKE '%'+ tbl.item +'%'				
				where ...
```

efter WHERE i denna kommer då de ytterligare kriterierna för att minska antalet träffar. Nu funkar givetvis inte denna kodsnutt: 

```
(@ObjektIdavdelning_o = null OR T_PUP_PERSONUPPGIFTER.OBJ_ID_ORGANISATIONSTILLHORIGHET IN (SELECT OBJ_ID FROM #ObjektTemp))
```

Har skrivit om hela sökfunktionen och detta är det som har skapat mest huvudbry.. och jag börjar sakta men säkert bli flint. 

Hur skulle man kunna skriva om 

```
(@ObjektIdavdelning_o = null OR T_PUP_PERSONUPPGIFTER.OBJ_ID_ORGANISATIONSTILLHORIGHET IN (SELECT OBJ_ID FROM #ObjektTemp))
```

 För att funka med den nya varianten.

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

## #2 — Peter S, 2008-09-05T10:14Z

Är det inte bara att joina in T_PUP_PERSONUPPGIFTER också då?

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

## #3 — Fredde Mannen, 2008-09-05T11:17Z

> **Peter S skrev:**
>
> Är det inte bara att joina in T_PUP_PERSONUPPGIFTER också då?

Jo, det löste det hela. Dock när jag gjorde det första gången placerade jag den i subqueryn men så jag kunde få in övriga sökkriterier där också som baserades på pup. 

Nu placerade jag den utanför och använda endast det sökkriteria som var ett problem och placerade det utanför subqueryn också.

Så nu funkar det fin fint... verkar det som! :D

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/173862-jämföra-från-en-post-med-flera
