我想检索未付款的预订表的所有详细信息。我已经使用了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是用户选择的开始和结束日期---
只需使用not exists
或not 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] 删除。
我来说两句