我正在使用这段代码:
SELECT *
FROM admins, vips
WHERE admins.Expired < CURDATE() + INTERVAL 3 DAY
AND vips.Expired < CURDATE() + INTERVAL 3 DAY
我在第一行有 2 行,在第二行有 2 行。但我在“vips”表中只得到 2 行。为什么?
我正在使用这段代码:
SELECT *
FROM admins, vips
WHERE admins.Expired < CURDATE() + INTERVAL 3 DAY
AND vips.Expired < CURDATE() + INTERVAL 3 DAY
我在第一行有 2 行,在第二行有 2 行。但我在“vips”表中只得到 2 行。为什么?
尝试*
为两个表指定 ,如下所示:
SELECT admins.*, vips.*
FROM admins, vips
WHERE admins.Expired < CURDATE() + INTERVAL 3 DAY
AND vips.Expired < CURDATE() + INTERVAL 3 DAY
编辑:上面的答案没有帮助,你需要一个UNION SELECT
:
SELECT *
FROM (SELECT * FROM vips
UNION
SELECT * FROM admins) derivedTable -- this is an alias of the subquery
WHERE Expired < CURDATE() + INTERVAL 3 DAY