繁体   English   中英

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

[英]How can I get info from two tables with one SQL statement?

我要桌子。

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

第二个(类型)包含客户订阅id | customer_id | type | active的列表

我想做的是列出所有订阅一种列表类型的成员。 我可以使用2个sql:s来做到这一点,但是我想如果有JOIN maby的话,一定有一种使用som kind的更好,更快的方法,而且我的客户用我的方式得到的ORDER错误。 我想按名称订购。

<?
$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>';
  }
}
?>
 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");

这应该为您解决问题

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

也许这:

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';    

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM