我有以下问题。
例如,我在一个查询中(Sequalize)
SELECT DISTINCT V.Name
FROM Purchasing.Vendor AS V
WHERE BusinessEntityID IN
(SELECT BusinessEntityID
FROM Purchasing.ProductVendor
WHERE EXISTS (
SELECT S.SalesOrderID, SUM(S.OrderQty) AS SumOrderQty, --S.ProductID,
(SELECT TOP 1 BusinessEntityID
FROM Purchasing.ProductVendor AS P
WHERE S.ProductID = P.ProductID) AS BusinessEntityID
FROM Sales.SalesOrderDetail AS S
GROUP BY S.SalesOrderID, S.ProductID
HAVING SUM(S.OrderQty) > 15))
我现在必须计算查询中的年龄。 年龄在数据库中存储为DD.MM.YYYYY。 我找到了Sequalize虚拟,看来我可以在这里计算
我遇到的问题是如何在虚拟筛选中将AGE用作WHERE?
赞:
const members = await User.findAndCountAll({
where: {
id: { [Op.ne]: data_userID}
}
offset: data_offset,
limit: data_offset + 5,
});
我在正确的道路上吗?
答案 0 :(得分:1)
虚拟字段只能在创建对象后在羊肚菌实例上使用。
您不能在where查询中将它们用作约束子句。
如果您要按年龄查询,可以举例说明,我希望所有年龄超过10岁的用户,那么您可以将日期大于或等于现在的所有用户都使用-INTERVAL'十年
希望对您有帮助