我想将两个表的结果合并为一个。请参考下表:
Data from microblog table as Row array
Array ( [ID] => 46 [userID] => 1 [userNAME] => user [blog_content] => HAI DEAR [page_name] => honda [page_ID] => 31 [post_time] => 2011-10-18 11:06:54 )
Data from Page_review table as Row array
Array ( [page_review_id] => 5 [page_id] => 31 [page_review_by_id] => 31 [page_review_by_username] => user [page_review_time] => 2011-10-18 11:43:34 [page_review_content] => hai ) 表微博MySQL查询:
DROP TABLE IF EXISTS `featurezme_store`.`microblog`;
CREATE TABLE `featurezme_store`.`microblog` (
`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`userID` int(10) unsigned NOT NULL,
`userNAME` varchar(45) NOT NULL,
`blog_content` text NOT NULL,
`page_name` varchar(45) NOT NULL,
`page_ID` int(10) unsigned NOT NULL,
`post_time` datetime NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=48 DEFAULT CHARSET=latin1;表page_review
DROP TABLE IF EXISTS `featurezme_store`.`page_review`;
CREATE TABLE `featurezme_store`.`page_review` (
`page_review_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`page_id` int(10) unsigned NOT NULL,
`page_review_by_id` int(10) unsigned NOT NULL,
`page_review_by_username` varchar(145) NOT NULL,
`page_review_time` datetime NOT NULL,
`page_review_content` varchar(555) NOT NULL,
PRIMARY KEY (`page_review_id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;表微博用于存储博客帖子,page_review用于存储关于页面的评论微博是以页面为单位的。
我的要求是,我想要显示博客帖子&页面评论排序日期post_time在微博和page_review上的page_review_time。
我该怎么做呢?请帮帮我。
发布于 2011-10-19 13:58:54
好了,我已经更新了我的安装裤,你可以使用你想要的联合。
只要有相同数量的字段,并且因为结果放在其他use字段下面,所以这个字段在另一个字段下面是有意义的。这个示例将把由特定用户创建的所有博客和评论(如果page_review_by_id实际上指的是用户id)与特定页面相关。
(
SELECT
`microblog`.`userID`,
`microblog`.`blog_content` as `blog or review`,
`microblog`.`post_time`,
`microblog`.`page_id`
from `microblog`
where `microblog`.`page_id`='1' and `microblog`.`userID`='1'
)
union
(
SELECT
`page_review`.`page_review_by_id`,
`page_review`.`page_review_content`,
`page_review`.`page_review_time`,
`page_review`.`page_id`
from `page_review`
where `page_review`.`page_id`='1' and `page_review`.`page_review_by_id`='1'
) ======== Edit==建议使用外键的模式================
因为我在您的模式中没有看到任何外键,如果我可以建议一个可选的应用外键的模式,我在下面给出一个。
此架构支持以下规则:
/********Create ***** */ CREATE TABLE user ( user_id int unsigned NOT NULL AUTO_INCREMENT,username varchar(16) NOT NULL,userpassword BLOB,
主键(user_id) ) ENGINE=InnoDB默认CHARSET=latin1;
CREATE TABLE page ( page_id mediumint NOT NULL AUTO_INCREMENT,title varchar(55) NOT NULL,
主键(page_id) ) ENGINE=InnoDB默认CHARSET=latin1;
创建表microblog ( blog_id int unsigned NOT NULL AUTO_INCREMENT,blog_content text NOT NULL,
date_created datetime NOT NULL,author_id int unsigned NOT NULL,page_id mediumint NOT NULL,PRIMARY KEY (blog_id),CONSTRAINT blogfk1 FOREIGN KEY (author_id)引用user (user_id),DELETE CASCADE/ CONSTRAINT /NO blogfk2 FOREIGN KEY (page_id)引用D51 (page_id) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE page_review ( review_id int unsigned NOT NULL AUTO_INCREMENT,review_content varchar(555) NOT NULL,date_created datetime NOT NULL,author_id int unsigned NOT NULL,page_id mediumint unsigned NOT NULL,
主键(review_id),约束外键(author_id)引用user (user_id),删除级联时/NO / CONSTRAINT reviewfk2外键(page_id)引用page (page_id) ) ENGINE=InnoDB默认CHARSET=latin1;/************** ******/
/** ***Insertions__*** **/
插入到user ( username,userpassword)值('username11',AES_ENCRYPT('password1','encription_key') ),('username22',AES_ENCRYPT('password2','encription_key') );
INSERT INTO page ( title)值('title1'),('title2');
插入microblog (blog_content,date_created,author_id,page_id)值(‘博客内容1’,'2011-2-2 12:00','1','1'),(‘博客内容2’,'2011-2-2 12:00','2','2');
插入page_review (review_content,date_created,author_id,page_id)值('reviewcontent1','2011-2-2 12:00','1','1'),('reviewcontent2','2011-2-2 12:00','2','2');/***** *******/
/*******在标识用户时查询*/ /Help / SELECT username FROM user WHERE username ='username22‘和userpassword=AES_ENCRYPT('password2','encription_key')
(选择
microblog。blog_content as blog or content,microblog。date_created,microblog。author_id,microblog。来自D156的page_id。D157=‘1’和D159=‘1’。D160=‘1’)联合
page_review。review_content,page_review。date_created,page_review。author_id,page_review。来自page_review的page_id where <代码>D170。<代码>D171=‘1’and <代码>D172。<代码>D173=‘1’)<代码>H2174<代码>F2175
https://stackoverflow.com/questions/7816809
复制相似问题