在内部连接查询中添加另一个 where 条件

adding another where condition on inner join query

我根据 mtb.mid 从以下查询中获取 selecting 数据时遇到问题。 我想要的只是 select 下面基于最高 mtb.mid 的查询,但我无法弄清楚我需要把那个原因放在我的 where 子句或其他地方....

这是我很好的工作查询,它​​给我的结果是我需要添加上面提到的过滤器。

SELECT DISTINCT TOP (100) PERCENT wTB.Week, wTB.Description, wTB.wid, mTB.mid
FROM           yTB INNER JOIN
                         mTB ON yTB.yid = mTB.yid INNER JOIN
                         wTB ON mTB.mid = wTB.mid INNER JOIN
                         dTB ON wTB.wid = dTB.wid
WHERE        (dTB.dateEn <= CAST(GETDATE() AS DATE))
ORDER BY wTB.Week

提前致谢。

这会起作用。

SELECT DISTINCT TOP (100) PERCENT wTB.Week, wTB.Description, wTB.wid, mTB.mid
FROM           yTB INNER JOIN
                         mTB ON yTB.yid = mTB.yid INNER JOIN
                         wTB ON mTB.mid = wTB.mid INNER JOIN
                         dTB ON wTB.wid = dTB.wid
WHERE        (dTB.dateEn <= CAST(GETDATE() AS DATE)) AND 
             mTB.mid = (SELECT MAX(mid)
                        FROM mTB)
ORDER BY wTB.Week

只需将该条件放在 WHERE 子句中并使用子查询从 mTB table.

中获取最高 mTB.mid 值