我是mysql的新手,所以你必须和我一起裸露。
表A被命名为“users”,表B被命名为“comments”。我想从表A中选择字段“user_id”和“user_name”,并在表B中选择“date”,“comment”,“user_id”字段。
简而言之,我试图通过1个查询获取所有用户及其评论。可以将注释放在自己的数组中,因为下面会有多个注释,或者它只是1个注释,并且必须运行2个查询?
基本示例
user_id = 1
username = foo
评论[0] ['日期'] = 1234567890
评论[0] ['评论'] =“你好世界!”
评论[1] ['date'] = 1234567890
评论[1] ['评论'] =“MySQL n00b”
任何基本的例子都会很棒,所以我可以理解它。
由于
答案 0 :(得分:1)
这将是一般查询,用于选择user_id
= 1。
SELECT u.user_id, u.user_name, c.`date`, c.`comment`
FROM comments c
INNER JOIN users u ON c.user_id = u.user_id
WHERE c.user_id = 1
答案 1 :(得分:1)
我们称之为JOIN。最好采取一些sql / mysql教程,否则你会迷路。
答案 2 :(得分:0)
假设user_id为1
,如果您想要一个包含所有用户注释的关联数组,则此处为代码。只有一个查询,使用JOIN语句。
$res = mysql_query("SELECT users.user_id as uid, users.user_name as username, comments.date, comments.comment, comments.user_id as cid FROM `users` LEFT JOIN comments on uid=cid WHERE cid = 1");
$i = 0;
while($arr = mysql_fetch_assoc($res))
{
$comments[$i]['date'] = $arr['date'];
$comments[$i]['comment'] = $arr['comment'];
$i++;
}
//var_dump($comments);