我正在使用Laravel 5.3和mariaDB 10.1.x。
我有几个SQL查询将用于一个报表。我想使用多个查询(每个查询都不是那么简单),而不是一个复杂的单个查询用于维护目的。
我想要做的是将每个查询的结果都收集到集合格式中,并将这些结果与单个集合(如来自一个大查询的集合)结合起来。
(1)第一次查询的收集
$a = DB::table('first_name')->where(...)->join(...)->leftJoin(...)->get();
result
-----------------------
primary_key first_name
1 John
2 Mary
-----------------------
(2)从第二次查询收集。
$b = DB::table('last_name')->where(...)->join(...)->leftJoin(...)->get();
Result
-----------------------
primary_key last_name
1 Doe
2 Jane
-----------------------
(3)我想要的集合(使用primary_key组合(1)+(2))
-----------------------------------
primary_key first_name last_name
1 John Doe
2 Mary Jane
-----------------------------------
感谢您的帮助。
答案 0 :(得分:0)
这个怎么样?不确定这是否是最好的方法:
df <- data.frame(cbind(mtcars[,1], mtcars[,2])) #mtcars[, 1:2]
colnames(df) <- c("metric", "group")
df$group <- factor(df$group)
p1 <- ggplot(data=df, aes(x=group, y=metric ) ) +
geom_boxplot()
metric_means <- aggregate(df$metric, list(df$group), mean)
metric_ci_95 <- aggregate(df$metric, list(df$group), function(x){1.96*sd(x)/sqrt(length(x))})
metric_mean_ci = data.frame(group=metric_means[,1],mean=metric_means[,2], ci=metric_ci_95[,2])
# plot mean
p1 <- p1 + geom_point(data=metric_means, aes(x=metric_means[,1], y=metric_means[,2]),
colour="red", shape=21, size=2)
#plot confidence interval
p1 <- p1 + geom_errorbar(data=metric_mean_ci, aes(ymin=mean-ci, ymax=mean+ci, x=group, y=mean),
color="green", width=.1)
p1
我没有看到任何辅助方法进行密钥合并,但不确定我是否已正确读取