我在DBlite程序(我必须用于大学的垃圾程序)的程序中有一个问题,该程序的日期和数字在where部分中。我的代码如下所示:
SELECT Customers_Details_FULL_LOCKED.email
FROM Customers_Details_FULL_LOCKED
LEFT JOIN Purchases_FULL_LOCKED ON Customers_Details_FULL_LOCKED.customer_id
= Purchases_FULL_LOCKED.Cust_ID
WHERE Purchases_FULL_LOCKED.Purchase_Price = '>20' AND
Customers_Details_FULL_LOCKED.marketing_opt_in = 'Yes' AND
Purchases_FULL_LOCKED.Purchase_Date = '<2014-01-01';
目标: 我希望我的代码显示购买了20多个商品,选择加入营销并且购买日期在2014年之前的人的电子邮件。
我所知道的:
我知道opt_in语句有效,但是无论是单独购买还是一起购买,价格和购买日期都不起作用。
我还知道,对于购买价格而言,是否将CAST设置为小数都无关紧要,但似乎仍然无法正常工作。
答案 0 :(得分:0)
如果Purchase_Price是一个数字值,则应将该列与一个运算符<, >, >= ..
和一个数字值进行比较。
写Purchase_Price > 20
而不是Purchase_Price = '>20'
它表示:购买价格必须大于20 。
代替 Purchase_Price等于文本'> 20'
与日期相同,但是您应该比较日期值