我很好奇这个事实,如果可以将多个列(用逗号或其他东西分隔)合并到一列中。
所以,例如,我有这些表(语言):
language_id | language_iso
1 NL
2 EN
3 GT
4 EN
(域)
domain_id | domain_name
1 example
另一个将语言链接到webdomain的表
languagetodomain_id | languagetodomain_lang | languagetodomain_domain
1 1 1
2 2 1
3 4 1
4 3 1
按此顺序检索它们(一列作为提醒)
domain_id | domain_name | TemporaryColumn
1 example {1,2,4,3}
答案 0 :(得分:2)
这应该有效:
SELECT Domains.*, CONCAT('{',GROUP_CONCAT(languagetodomain_lang),'}') AS TemporaryColumn
FROM Domains
JOIN LanguageToDomain ON LanguageToDomain.languagetodomain_domain = Domains.domain_id
GROUP BY domain_id
函数GROUP_CONCAT
对用逗号分隔它们的值进行分组。我使用普通CONCAT
函数添加了括号。
您需要对domain_id进行分组,以便为您拥有的每个域获取所有languagetodomain_lang
。
我已经猜到了languagetodomain的表名,因为你没有提供它。
答案 1 :(得分:0)
拼写出来:
Group_Concat允许您跨行组合数据。
app.service('getBodyStyle', function () {
var self = this;
if (!self.bg)
{
var bgs = [
//list of jpgs
]
var rand = Math.floor(Math.random() * bgs.length);
var bg = bgs[rand];
self.bg = { "background": "linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.4)), url('./Images/"+bg+"') no-repeat center center fixed" };
}
return self.bg;
});