簡體   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