【发布时间】:2013-07-08 06:31:24
【问题描述】:
这可能是一个非常简单的问题,但从昨晚开始我似乎无法理解这个问题。
我有 3 张桌子
VirtualLicense
VirtualLicenseId ProductName
-----------------------------------
1 Transaction
2 Query
3 Transaction
Product
ProductId Name
---------------------------
1 Transaction
2 Query
License
LicenseId ExpiryDate ProductId
-----------------------------------------
1 14/07/2013 1
2 13/07/2013 1
3 13/07/2013 2
4 14/07/2013 2
VirtualLicense 和 License 使用 ProductName 和 ProductId 映射结合使用 Product 表。
我想获得 VirtualLicenseId 和 LicenseId 的组合,我基本上可以将 VirtualLicenseId 分配给 LicenseId。将 licenseid 分配给 VirtualLicenseId 后,它不应可用于以下 VirtualLicenseId。另外,我希望首先分配到期日期更近(更小)的licenseid。
所以,我的示例数据集的结果应该是
VirtualLicenseId LicenseId
---------------------------------
1 2
2 3
3 1
我不想为此循环遍历任何表。 我希望从我的描述和数据中可以清楚我的问题。
【问题讨论】:
标签: sql sql-server-2008 tsql join