序列化计算字段-虚拟

时间:2019-05-14 20:04:34

标签: node.js sequelize.js

我有以下问题。

例如,我在一个查询中(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,
});

我在正确的道路上吗?

1 个答案:

答案 0 :(得分:1)

虚拟字段只能在创建对象后在羊肚菌实例上使用。

您不能在where查询中将它们用作约束子句。

如果您要按年龄查询,可以举例说明,我希望所有年龄超过10岁的用户,那么您可以将日期大于或等于现在的所有用户都使用-INTERVAL'十年

希望对您有帮助