【发布时间】:2012-01-15 12:26:24
【问题描述】:
我有一个存储周条目的数据库表。
Id Value WeekId
1 1.0000 1
2 2.0000 1
同一周最多可以有三个条目。
所以我认为使用自联接可以解决这个问题
SELECT w1.Value, w2.Value, w3.Value
FROM [List].[dbo].[testWeekEntries] as w1
LEFT OUTER JOIN [List].[dbo].[testWeekEntries] as w2 ON w1.WeekId = w2.weekId
LEFT OUTER JOIN [List].[dbo].[testWeekEntries] as w3 ON w2.WeekId = w3.WeekId
WHERE w1.Id < w2.Id AND w2.Id < w3.Id
问题:它适用于最大条目数,但它不会拉回包含一个或两个条目的行。
是否可以使用不同类型的连接来拉回只有一个或两个条目的行,或者以不同的方式处理这个问题?
【问题讨论】:
标签: sql sql-server join sql-server-2000