如何从一个SQL语句的两个表中获取信息?

时间:2014-03-03 20:25:19

标签: php sql

我有桌子。

第一个(成员)包含我的客户 ID |名称|电子邮件|键

第二个(类型)包含客户订阅的列表 的 ID | CUSTOMER_ID |类型|活性

我想要的是列出订阅某种类型列表的所有成员。 我可以使用2 sql:s来做到这一点,但我想如果JOIN maby使用som类型必须有更好更快的方式,而且我的错误订单让我的客户按照我的方式行事。我希望按名称订购。

<?
$type ='555';
$sql = mysql_query(" SELECT * FROM types WHERE type='$type' && active='1' ");
while($a = mysql_fetch_array($sql))
{
  $sql2 = mysql_query(" SELECT * FROM members WHERE id='{$a['customer_id']}' ");    
  while($b = mysql_fetch_array($sql2))
  {
    echo 'Name: '.$b['name'].'<br>';
  }
}
?>

3 个答案:

答案 0 :(得分:2)

 mysql_query(" SELECT * FROM types INNER JOIN members ON types.customer_id = members.id WHERE type='$type' AND active='1' ORDER by members.name ASC");

这应该是你的伎俩

答案 1 :(得分:2)

SELECT * FROM members 
JOIN types ON members.id = types.customer_id
WHERE types.type = ? AND types.active = '1'
ORDER BY members.name

答案 2 :(得分:1)

也许这就是:

SELECT m.name, m.email 
    FROM members m left join types t 
    ON m.id=t.customer_id 
    WHERE t.type='$type' and t.active='1';    
相关问题