【发布时间】:2018-06-28 09:36:14
【问题描述】:
我有两个表,分别名为 ARTICLE 和 SAVE。
ARTICLE 表包含整篇文章数据。而SAVE 表有email 和ARTICLE 的seq 之间的关系。
ARTICLE
seq email title content
1 fm@x.y ya hah
2 ch@x.y ho hihi
3 ch@x.y yo hoho
SAVE
seq email article_seq
3 ch@x.y 1
因此,如果您将第 3 篇文章保存到您的帐户 (a@x.y),SAVE 表将更改为...
SAVE
seq email article_seq
3 ch@x.y 1
4 a@x.y 3
我想在文章调用is_saved 中再创建一列(SELECT 的结果)。我期待SELECT的这个结果:
当我以ch@x.y 登录时
RESULT
seq email title content is_saved
1 fm@x.y ya hah 1
2 ch@x.y ho hihi 0
3 ch@x.y yo hoho 0
当我以fm@x.y 登录时
RESULT
seq email title content is_saved
1 fm@x.y ya hah 0
2 ch@x.y ho hihi 0
3 ch@x.y yo hoho 0
所以,我需要JOIN 基于ARTICLE 的两个表,我可能需要IF/ELSE 条件。我该怎么做?
【问题讨论】:
-
请显示您为达到目标而尝试的查询。
-
你能解释一下你的结果集背后的逻辑吗?
-
我越仔细观察你的预期输出和你给定的输入,它就越没有意义。 :-S
-
由于
ch@x.y保存了seq为1的文章。(SAVE table)JOIN的结果为1,0,0(is_saved)。并且由于fm@x.y在SAVE表中没有任何保存数据,所以结果为0,0,0(is_saved) -
换一种方式,无论您在列出所有文章时登录的人以及它们是否已保存标记。