red// Fick hjälp på annat håll.
SQL Server 2005
CREATE TABLE [Table1] (
[Id] [int] IDENTITY (1, 1) NOT FOR REPLICATION NOT NULL ,
[Title] [varchar] (50) NULL ,
CONSTRAINT [PK_Temp_Table1] PRIMARY KEY CLUSTERED
(
[Id]
) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [Table2] (
[Id] [int] IDENTITY (1, 1) NOT FOR REPLICATION NOT NULL ,
[ParentId] [int] NOT NULL ,
[Table1Id] [int] NOT NULL ,
[Type] [int] NOT NULL ,
[Title] [varchar] (50) NULL ,
CONSTRAINT [PK_Temp_Table2] PRIMARY KEY CLUSTERED
(
[Id]
) ON [PRIMARY]
) ON [PRIMARY]
GO
Table1
------------
Id | Title
1 | Somedata
2 | Somedata
Table2
-----------------
Id | ParentId | Table1Id | Type | Title
1 | 0 | 1 | 100 | Somedata
2 | 1 | 1 | 100 | Somedata
3 | 1 | 1 | 100 | Somedata
4 | 0 | 1 | 100 | Somedata
5 | 0 | 2 | 200 | Somedata
6 | 0 | 2 | 100 | Somedata
Per Table1.Id vill jag ta ut TOP 1 Table2.Id
där Table2.Table1Id = Table1.Id och Table2.ParentId = 0
ORDER BY Table2.Type DESC och Table2.Id DESC.
Med de TOP 1 Id:na vill jag slutligen få ut all data från
Table2 där vart och ett av Id:na är lika med Table2.Id eller Table2.ParentId