我有一个公司查询表,其中有7个不同的公司。 lookupkey以1开头,以7结尾。 问题是事实表有一个公司密钥,看起来像这样(1,2,3,4),这意味着该行有4个公司。但是当所有值都在一个单元格内时,如何进行连接?
The company Table look like this ID Name 1 Company1 2 Company2 3 Company3 ....
事实表如下所示:
Id Amount Company 1 100 Usd (1,2,3) 2 200 Usd (1,2) ....
结果
Id Amount Company 1 100 Usd (Company1,Company2,Company3) 2 200 Usd (Company1,Company2)
我没有按照它的方式设计数据库 谢谢
答案 0 :(得分:0)
您可以将该字符串Fact.Company
拆分为数组并使用数组比较运算符,例如在PostgreSQL中它将是:
JOIN Fact ON Company.ID = ANY(translate(Fact.Company, '()', '{}')::integer[])
其他方法是将其拆分为一组行,不确定RDBMS中可用于此类任务的内容。