我有两张桌子。一个包含酒店的信息,由用户添加到我的网站。它包含一个名为Username的字段,其中包含已上载它的人员的用户名。第二个表包含用户信息(包括一个名为“active”的字段,表示用户是否已付款)。我需要从第一个表中获取已经付款的用户的条目。目前我在PHP中这样做:
$hotelsq = mysql_query("SELECT * FROM trips_all ORDER BY id DESC ");
while ($hotel = mysql_fetch_array($hotelsq)) {
$username = $hotel['username'];
$isactiq = mysql_query("SELECT * FROM users WHERE username='$username'");
$isact = mysql_fetch_array($isactiq);
if ($isact['active'] == 'member') {
我需要的是一个查询,它将选择第一个表中的所有酒店,然后检查上传的用户(“用户名”列)是否在“有效”列中有“成员”。第二个表中的用户名列也被命名为“username”。 该查询会是什么样的?
答案 0 :(得分:4)
select t.*
from trips_all t
inner join users on t.username = u.username
where u.active = 'member'
答案 1 :(得分:1)
检查INNER JOIN:
这就是:
mysql_query("SELECT * FROM trips_all INNER JOIN users ON trips_all.username=users.username WHERE users.active='member');
答案 2 :(得分:0)
select * from trips_all t
left join users u on t.id= u.userid
where u.active = 'member'