我有两张相同的桌子。每年一次。
15_docs:
id,name,org,slo,dok
16_docs:
id,name,org,slo,dok
现在我想用两者的UNION创建视图,但我需要知道行的原点。
输出视图:
id, name, org, slo, dok, year
我怎样才能实现这一目标? 我正在使用postgreSQL数据库。
答案 0 :(得分:1)
SELECT id, name, org, slo, dok, 'year 2015' FROM 15_docs
UNION
SELECT id, name, org, slo, dok, 'year 2016' FROM 16_docs
修改强>
这肯定适用于MS SQL服务器,没有在postgresql上测试
答案 1 :(得分:1)
你可以使用UNION&在这种情况下,UNION ALL都给出相同的结果,因为UNION子句在结尾处给出了不同的行。 UNION ALL子句组合了两个查询结果的所有行。但在这种情况下,这个' year'必须在每一行中创建唯一性。 试试这个查询!
SELECT
id,
name,
org,
slo,
dok,
'year_15 ' as year
FROM
15_docs
UNION ALL
SELECT
id,
name,
org,
slo,
dok,
'year_16 ' as year
FROM
16_docs
或
app.get("/:subject", function (req, res) {
Subject.find({name: req.params.subject}).populate("courses").exec(function (err, foundSubject) {
if (err) {
res.redirect("/")
console.log(err)
} else {
if (err) {
console.log(err);
} else {
console.log(foundSubject[0])
console.log(foundSubject[0].courses)
res.render("template.ejs", {subjects: foundSubject[0], courses: foundSubject[0].courses})
}
}
})