繁体   English   中英

MySQL 列引用不同的表名

[英]MySQL column references different table names

我有多个表,每个表都包含非常不同类型测试的结果:test_a、test_b、test_c 等。一个“人”可以对相同或不同类型的测试进行多次测试。 当前的erd

目前,我使用表 test_ref 中的单独索引列来引用每个包含测试结果的表。 这意味着每次添加新的测试表/类型时我都必须添加一个新列。

有没有可能改变这个? 理想情况下,test_ref 应该只指向任何可用测试表中的一个唯一测试。

所以我的问题可能是如何从一列中引用多个表?

我希望这很清楚,我是新的数据库设计,我已经寻找了这方面的例子,但我一定遗漏了一些东西,因为我找不到其他例子。 提前谢谢了。

在那里,您需要将 test_a、test_b、test_c 中的 test_id 值/引用放入一列,并添加带有 test_type 的列(您可以选择“A”、“B”……)。

SELECT 
    *
FROM 
    test_ref tr
INNER JOIN
    test_a tt on tr.test_id = tt.id AND tr.test_type = "A";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM