将外键替换为多列中的描述

时间:2012-05-10 10:16:57

标签: sql mysqli

如果我有一张表A,有20列,

col1, col2, col3....etc

并且每列引用另一个表的外键的值,如下所示:

fkey1  - Description1 
fkey2  - Description2 
fkey3  - Description2

有没有办法获得描述而不需要在20列中的每一列上进行连接 基本上有一种快速简短的方法来获取输出中的描述而不需要joins/case-when-then

3 个答案:

答案 0 :(得分:0)

您可以在子表上使用触发器...

插入后在桌面上创建触发器..

在此您可以从主表中选择说明,并可以使用此值更新您的子表....

答案 1 :(得分:0)

一些选项:

  1. 创建一个执行这些连接的视图。
  2. 请勿使用参考表并将说明保存在主表中。

答案 2 :(得分:0)

如果您的问题是显式连接,则可以执行相关子查询:

select id1, (select description from id1table where t.id1 = idtable.id),
       ...
from id1table

但在操作上,这只是连接的另一种语法。