[英]How can I get info from two tables with one SQL statement?
I have to tables. 我要桌子。
The first one (members) contains my customers id|name|email|key 第一个(成员)包含我的客户ID |名称|电子邮件|密钥
The second (types) contains listings customer subscribes to id|customer_id|type|active 第二个(类型)包含客户订阅id | customer_id | type | active的列表
What I would like to do is to list all members that subscribed to a type of list. 我想做的是列出所有订阅一种列表类型的成员。 I can do this with 2 sql:s, but I guess there must be a better and faster way using som kind if JOIN maby and besides I get the wrong ORDER for my customers doing my way. 我可以使用2个sql:s来做到这一点,但是我想如果有JOIN maby的话,一定有一种使用som kind的更好,更快的方法,而且我的客户用我的方式得到的ORDER错误。 I want ORDER by name. 我想按名称订购。
<?
$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
perhaps this: 也许这:
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.