我有两张桌子。
房间包括:111室,102室,201室,122室
预订包含:102室,201室
如果我发出以下SQL语句:
Select roomname from Booking where checkin='12/03/2014' and checkout='15/03/2014'
我得到两排
102室
201室
我想使用这些行来获取“房间”表中除“ 102房间”和“ 201房间”之外的所有其他房间名称。
这是我的代码:
$a1=12/03/2014
$a2=15/03/2014
$sql= mysql_query("SELECT * FROM Booking WHERE checkin = '$a1' AND checkout ='$a2'");
while ($myrow = mysql_fetch_array($sql))
{
$pid = $myrow["roomname"];
$sql1= mysql_query("SELECT * FROM Rooms WHERE roomname != '$pid'");
while($me = mysql_fetch_array($sql1))
{
$pid2 = $me["roomname"];
echo $pid2;
}//
}//end while
我将得到两组结果,第一组包含201室,第二组包含102室:
Room 111 Room 201 Room122
Room 111 Room 102 Room122
我只想要一个不包含201室和102室的结果:
Room 111 and Room 102
最佳答案
您可以尝试以下查询:
SELECT roomname FROM Booking WHERE roomname NOT IN (SELECT roomname FROM Booking WHERE checkin = '12/03/2014' AND checkout = '15/03/2014');
或至少它应该为您指明正确的方向。
关于php - 从表a中选择并使用结果从表中取反,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23015713/