如何在SQL中使用MINUS运算符?

我想检索未付款的预订表的所有详细信息。我已经使用了MINUS运算符。但这没有用。它给出了SQL错误。如何获取付款表中不存在的bookingid。

这是我的代码。

$SQL ="SELECT bookingid FROM bookings WHERE checkindate >= '$new_date_in' AND checkoutdate <= '$new_date_out' MINUS  SELECT bookingid FROM payments ";
        $run=mysql_query($SQL,$con) or die ("SQL error");

---- $ new_date_in和$ new_date_out是用户选择的开始和结束日期---

预订表

付款表

戈登·利诺夫(Gordon Linoff)

只需使用not existsnot in

SELECT b.bookingid
FROM bookings b
WHERE b.checkindate >= '$new_date_in' AND
      b.checkoutdate <= '$new_date_out' AND
      b.bookingid NOT IN (SELECT bookingid FROM payments);

这也使您有机会从中获取其他字段bookings

另外,您应该在查询中使用参数,而不是将其填充到查询字符串中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章