【发布时间】:2012-11-09 17:44:33
【问题描述】:
有没有办法从两个表中创建一个视图,其中一个列在两个表中是不同的?我目前遇到的问题是 MYSQL 告诉我有一个 undefined index - 这很有意义,因为在一半的情况下,该列将不存在。
表格布局:
(post_rank_activity) ID, post_id, ... 日期 (reply_rank_activity) ID, rank_id, ... 日期我希望生成的视图看起来像什么:
身份证 | Post_id |回复ID |日期 x x 空 x x 空 x x还有 SQL:
$rankView = "Create or replace view userRank as (
select PRA.id, PRA.post_id, PRA.user_id, PRA.vote_up, PRA.rank_date
From post_rank_activity PRA)
union All
(select RRA.id, RRA.reply_id, RRA.user_id, RRA.vote_up, RRA.rank_date
from reply_rank_activity RRA)";
我得到的结果不是返回 null,而是为“post_id”字段返回“reply_id”的值,然后将所有其他值移过来 - 见下文:
有什么想法吗?
【问题讨论】:
-
尝试删除第二个 SELECT 周围的
(。它们不是必需的。 -
你能发布更多关于每个表的结构和它们之间的关系的信息吗?