---
title: "Ändra villkor om inte första finns"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/138469-ändra-villkor-om-inte-första-finns"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Dino"
published: "2005-11-29T11:31:38.000Z"
updated: "2005-11-29T12:26:40.000Z"
replies: 2
views: 249
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/138469-ändra-villkor-om-inte-första-finns"
---

# Ändra villkor om inte första finns

## #1 — Dino, 2005-11-29T11:31Z

Har två tabeller.

```
CREATE TABLE [Table1] 
(
   [Id] [int] IDENTITY (1, 1) NOT FOR REPLICATION  NOT NULL ,
   [Number] [varchar] (50) COLLATE Finnish_Swedish_CI_AS NOT NULL ,
   [TimeStamp] [smalldatetime] NOT NULL CONSTRAINT [DF_Table1_TimeStamp] DEFAULT (getdate()),
   CONSTRAINT [PK_Table1] PRIMARY KEY  CLUSTERED 
   (
      [Id]
   )  ON [PRIMARY] 
) ON [PRIMARY]
GO

CREATE TABLE [Table2] 
(
   [Id] [int] IDENTITY (1, 1) NOT FOR REPLICATION  NOT NULL ,
   [Table1Id] [int] NOT NULL ,
   [LingoId] [int] NOT NULL ,
   [Header] [nvarchar] (150) COLLATE Finnish_Swedish_CI_AS NOT NULL ,
   [Description] [ntext] COLLATE Finnish_Swedish_CI_AS NOT NULL ,
   CONSTRAINT [PK_Table2] PRIMARY KEY  CLUSTERED 
   (
      [Id]
   )  ON [PRIMARY] ,
   CONSTRAINT [FK_Table2_Table1] FOREIGN KEY 
   (
      [Table1Id]
   ) REFERENCES [Table1] (
      [Id]
   )
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
```

 

Vad jag skulle vilja är att om LingoId = 2 i nedan fråga inte finns så skall den istället ta ut där LingoId = 1 som alltid finns. Går detta?

```
SELECT
   dbo.Table1.Id, 
   dbo.Table1.Number, 
   dbo.Table1.[TimeStamp], 
   dbo.Table2.Header, 
   dbo.Table2.Description
FROM         
   dbo.Table1 
      LEFT OUTER JOIN
         dbo.Table2 ON dbo.Table1.Id = dbo.Table2.Table1Id
WHERE
   (dbo.Table2.LingoId = 2) --Sen behövs det då något här.
```

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

## #2 — LarsG, 2005-11-29T12:13Z

Varför har du en left join?

```
SELECT
   dbo.Table1.Id, 
   dbo.Table1.Number, 
   dbo.Table1.[TimeStamp], 
   dbo.Table2.Header, 
   dbo.Table2.Description
FROM         
   dbo.Table1 
      INNER JOIN
         dbo.Table2 ON dbo.Table1.Id = dbo.Table2.Table1Id
WHERE
   dbo.Table2.LingoId = 2
  or (dbo.Table2.LingoId = 1
 and not exists
   (select *
      from table2 cn 
     where cn.table1id = dbo.Table2.Table1Id
       and cn.lingoid = 2)
```

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

## #3 — Dino, 2005-11-29T12:26Z

Ingen aning varför jag använde left join. Är i alla fall ändrat och resultatet är det önskade. 

Ett jätte tack. :)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/138469-ändra-villkor-om-inte-första-finns
