寻找有关如何在我的查询中添加数学方程式的帮助

时间:2020-01-14 09:34:49

标签: mysql sql

在某些情况下,我正在尝试从Tickets_Sold中检索“票证”:

  • 即使价格增加了5.5%,但票价仍低于15的机票
  • ticket_type可以是1或4
  • 该票证不是“ VIP”,即VIP等于“ VIP”

我有

SELECT Tickets 
FROM Tickets_sold
WHERE Tickets < 15+(Ticket*0.055) 
AND Ticket_type 1 OR 4 and Ticket NOT LIKE 'VIP';

有人看到这个有什么问题吗?

1 个答案:

答案 0 :(得分:0)

您的3种情况均存在问题:

Tickets < 15 + (Ticket * 0.055)

正如萨蒙(P.Salmon)所说,您实际上想要:Tickets + (Tickets * 0.055) < 15

Ticket_type 1 OR 4

这是语法错误。您需要类型1和4,因此:Ticket_type IN (1, 4)

Ticket NOT LIKE 'N'

这只是检查ticket'N'是否不同。您需要除'VIP'之外的票证:Ticket <> 'VIP'

这是您查询的新版本:

SELECT Tickets 
FROM Tickets_sold
WHERE Tickets + (Tickets * 0.055) < 15 AND Ticket_type IN (1, 4) AND Ticket <> 'VIP'

旁注:同一表中的列TicketTickets很容易出错。您应该为列指定明确的名称。