我们有与不同实体相关的各种表,我们希望在这些实体中全球化存储的值。我们不知道如何继续在技术上,并开放给任何形式的帮助,提示或提示。
语言
ID | Culture | Description |
---+---------+-------------+
1 | EN | English |
2 | FR | French |
3 | ES | Spanish |作业
ID | Description |
---+-------------+
1 | Doctor |
2 | Firefighter | JobGlobalization
ID | JobID | Description | Culture |
---+-------+-------------+---------+
1 | 1 | Docteur | FR |
2 | 1 | Doctora | ES |我们试图使用交叉连接获得以下内容:
ID | Description | Culture |
---+-------------+---------+
1 | Doctor | EN |
1 | Doctor | FR |
1 | Doctor | ES |
2 | Firefighter | ES |
2 | Firefighter | ES |
2 | Firefighter | ES |使用的查询:
SELECT Job.ID, Job.Description, Language.Culture
CROSS JOIN Language
ORDER BY Job.ID我们在儿童全球化表上经历了不同的连接,以便将各实体联系在一起,但是结果集一直在以错误的方式成倍增长。
我们希望为每个父实体,无论它是否有任何相关的子实体,为语言表中的每个区域性选择一行。在子表中没有关联记录的情况下,说明列默认为父实体。
由此产生的表格应如下:
ID | Description | Culture |
---+-------------+---------+
1 | Doctor | EN |
1 | Docteur | FR |
1 | Doctora | ES |
2 | Firefighter | EN |
2 | Firefighter | FR |
2 | Firefighter | ES |我们想到的条件是,如果子表中没有相应的记录,就会从父表'Job‘中选择'Description’列。
例如:
IIF(JobGlobalization.Description IS NOT NULL, JobGlobalization.Description, Job.Description)发布于 2019-07-13 13:04:47
我们试图使用交叉连接获得以下内容:
这将产生您描述的结果集:
SELECT j.ID, j.Description, l.Culture
FROM Job j CROSS JOIN
Language l
ORDER BY j.ID, l.Culture;您可以将它插入到JobGlobalization中(尽管您可能想先截断它)。或者您也可以使用CREATE TABLE AS (或与您的数据库等效的)从头创建JobGlobalization。
然后,您需要用区域性的适当值更新此表。
https://stackoverflow.com/questions/57015990
复制相似问题