我有这样的数据库模型:
每个用户都有很多项目。每个项目都有很多版本。每个版本都有很多要求。每个要求都有很多pos(词性)。
我希望选择所有POS_NAME
与需求实体中存在的所有要求不同,但基于每个项目和每个用户的最新VERSION_DATE
。
我应该如何在SQL Server 2014女士中查询?
答案 0 :(得分:1)
由于我不知道您在结果集中究竟需要什么,我向您展示了一般方法:
SELECT DISTINCT p.POS_NAME --here put all columns you need
FROM POS p
INNER JOIN Requirement r
ON r.ID_REQ = p.ID_REQ
INNER JOIN Version v
ON v.ID_VERSION = r.ID_VERSION
INNER JOIN (SELECT VERSION_NAME,
MAX(VERSION_DATE) as VERSION_DATE
FROM Version) as v1
ON v1.VERSION_NAME = v.VERSION_NAME AND v1.VERSION_DATE = v.VERSION_DATE
INNER JOIN Project pr
ON pr.ID_PROJECT = v.ID_PROJECT
INNER JOIN User u
ON u.ID_USER = p.ID_USER