0

InvoiceDate (形式: YYYY-MM-DD) と WarrantyPeriod (形式: nn) (保証の年数​​) の 2 つの値があります。

保証が切れたアイテムを選択するための簡単なクエリは?

私はこれで試しました:

SELECT
*
FROM
(
    SELECT
        UNIX_TIMESTAMP(DATE_FORMAT(item_invoice_date, '%Y-%m-%d %H:%i:%s')) AS ux_id,
        (item_warranty_period * 365 * 86400) AS ux_wp
    FROM
        items
    WHERE
        items.item_warranty_period > 0
    AND
        items.item_invoice_date != '0000-00-00'
) wd
,items
WHERE
items.item_warranty_period > 0
AND
items.item_invoice_date != '0000-00-00'
AND
wd.ux_id - wd.ux_wp < UNIX_TIMESTAMP(NOW())
GROUP BY
items.item_id

しかし、機能していないようです

4

2 に答える 2

1
SELECT
  *
FROM
  items
WHERE
  NOW() > (invoice_date + INTERVAL warranty_period YEAR)
于 2013-09-01T11:42:34.313 に答える
0

クエリであなたが望むものを本当に得られませんが、これを探していますか?

SELECT * FROM table WHERE ADDDATE(InvoiceDate, INTERVAL WarrantyPeriod YEAR) < NOW()

参照: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

于 2013-09-01T11:43:14.530 に答える