[英]How to get data from 2 different tables?
我有2个表User_Posts
CREATE TABLE IF NOT EXISTS `User_Posts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(12) NOT NULL,
`wall_id` int(12) NOT NULL,
`text` text COLLATE utf8_bin NOT NULL,
`img` varchar(255) COLLATE utf8_bin NOT NULL,
`time` date NOT NULL
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=7 ;
User_Activity
CREATE TABLE IF NOT EXISTS `User_Activity` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`content` varchar(55) COLLATE utf8_bin NOT NULL,
`activity_id` int(12) NOT NULL,
`activity` varchar(88) COLLATE utf8_bin NOT NULL,
`user_id` int(12) NOT NULL,
`time` date NOT NULL,
`value` varchar(12) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=131 ;
我想获取所有活动和帖子,其中user_id =吗?
试图做到这一点
$act = $this->app->db->rawQuery("SELECT p.*, a.*
FROM User_Posts p
JOIN User_Activity a
ON a.user_id = ? OR p.user_id = ?", array($id,$id));
我正在获取这样的数据
Array
(
[0] => Array
(
[id] => 130
[user_id] => 16
[wall_id] => 0
[text] => 'Text'
[img] => 0
[time] => 2014-10-31
[deleted] => 0
[content] => movie
[activity_id] => 5
[activity] => favorite
[value] => 0
)
[1] => Array
(
[id] => 130
[user_id] => 16
[wall_id] => 0
[text] => 'Text'
[img] => /posts/ceee9b387dcf72bcb19d1c1c73147ef3.jpg
[time] => 2014-10-31
[deleted] => 0
[content] => movie
[activity_id] => 5
[activity] => favorite
[value] => 0
)
)
但是我需要
Array
(
[0] => Array
(
[id] => 1
[user_id] => 16
[wall_id] => 0
[text] => 'Text'
[img] => 0
[time] => 2014-10-31
)
[1] => Array
(
[id] => 2
[user_id] => 16
[wall_id] => 0
[text] => 'Text'
[img] => /posts/ceee9b387dcf72bcb19d1c1c73147ef3.jpg
[time] => 2014-10-31
)
[2] => Array
(
[id] => 130
[content] => movie
[activity_id] => 5
[activity] => favorite
[value] => 0
)
)
回复是带有附加活动的帖子,但是我每个人都需要不同的结果
怎么做?
只是一个小的修改
$act = $this->app->db->rawQuery("SELECT p.*, a.*
FROM User_Posts p, User_Activity a
WHERE a.user_id = p.user_id
AND p.user_id = ?", array($id));
您不需要JOIN
关键字。
SELECT *
FROM User_Posts, User_Activity
WHERE `User_Activity`.`User_id` = `User_Posts`.`user_id`
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.