SQL多个表通过列名和值联接并旋转

时间:2019-07-08 13:59:48

标签: sql pivot

我正在寻找一种连接两个(有时更多)表的方法。 我将从两个开始,然后随着工作的进行添加。

表1有两列标识它

var years = moment().diff('1981-01-01', 'years',false);
if (years < 4) {
  alert('under 4 years');
}else{
  alert('more than 4 years');
}

表2具有相似的列,但以T2开头,但值将匹配

T1ContainerID
T1ObjectID

在Table2中,我定位了两列

T2ContainerID
T2ObjectID

给定记录可以有任意数量的ObjectName条目。 例如,一个人可能有姓名,地址和日期 另一个可能具有名称,地址,端口,日期,服务器名称,设备,状态

我需要的是一种使Table2中所有可能的列与Table1一致的方法,并且该值不在Table2中,而对于Table1来说,则将其设为NULL。我希望这些列的标题是ObjectName,值是ObjectValue。如果我无法获得通配符来获取所有潜在值,我可以解决只手动调用每一列的问题。我只是希望使用通配符,因为它可能会随着添加新记录的不同值而改变。最坏的情况是我只是调整代码以添加任何新内容。

我确实有很多查询,它们每晚都会重建数据库并将其转储到另一个数据库中,但是我想查询一个查询以从主数据库中提取结果以获取当前值,而不是运行的值每天早晨。

0 个答案:

没有答案