mysql加入和加载数据的问题

时间:2015-06-19 09:21:25

标签: mysql

我正在使用mysql代码,这让我很头疼,我将上传我的表格图像,看看它们是什么样子以及我如何尝试获取数据。

  

http://pasteboard.co/1kQrvuVn.png

问题是:

我正在进行更新/插入过程

所以对于查询我试图从两个表中获取公共结果,如果没有常见的东西,我想完全加载tasktemplates表,以便对新的值。

这是我正在尝试的查询

所以下面的查询在每个记录的循环中运行,并检查该记录是否存在于寺庙或任务故事中。

它可以工作但是如果没有找到任务,它就不会加载模板表,所以请指导我该怎么办..

谢谢

select tasktemplates.*,task.* from tasktemplates 
       right join task on task.templateid = tasktemplates.id   
       where 1=1 
       and (templateID = #val(k)# or task.id = #val(k)#) 

2 个答案:

答案 0 :(得分:0)

试一试 -

select tasktemplates.*,task.* 
from tasktemplates a 
left join task b 
on b.templateid = a.id

答案 1 :(得分:0)

根据我的理解,您正在寻找两种不同的结果,如下所述: 1.我试图从两个表中获取常见结果 2.如果没有常见的东西,我想完全加载tasktemplates表 如果我的理解是正确的,请使用以下解决方案: 解决方案'我正在尝试从两个表中获取常见结果'是:

SELECT tmp.*
FROM tasktemplates tmp LEFT JOIN task t on tmp.id = t.templateid
where t.templateID IS NULL;

解决方案'如果没有常见的东西,我想完全加载tasktemplates表'是:

tasktemplates

此外,您可以使用左连接来获取tasktemplates表的所有结果。我为每个tasktemplates提及的联接的左表SELECT tmpl.*,t.* FROM tasktemplates tmpl LEFT JOIN task t ON t.templateid = tmpl.id; 中的每个不匹配记录获得额外记录:

{{1}}

如果您不在寻找,请提供有关您的问题的更多详细信息。