所以我改变了我的数据库中的外键,这在很大程度上是顺利进行的。但是,我发现有一个查询无法使用新的FK参考。
我已经构建了一个快速Fiddle来显示表格结构的骨架。
基本上我正在尝试解决的问题是cable
用于引用major
表,但现在引用sub
表(如小提琴中所构建的)。但是,此查询也引用了area
表,并且由于cable
表没有引用major
表,我不确定如何保留该引用了。
有问题的查询如下所示:
SELECT
C.name,
M.name AS Origin,
M.area AS OriginArea
FROM cable C
INNER JOIN major M ON C.major = M.major_id
WHERE
# Parameters
;
但是现在,因为cable
表引用了sub
表,我不知道如何引用major
表来选择area
?
也许是这样的?
SELECT
C.name,
S.name AS Origin,
M.area AS OriginArea
FROM cable C
INNER JOIN sub S ON C.sub = S.sub_id
INNER JOIN major M ON S.major = M.major_id
WHERE
# Parameters
;
答案 0 :(得分:2)
应该有效
SELECT C.name, S.name AS Origin, M.area AS OriginArea FROM cable C INNER JOIN sub S ON C.sub = S.sub_id INNER JOIN major M ON S.major = M.major_id;
+---------+--------+------------+
| name | Origin | OriginArea |
+---------+--------+------------+
| cable 1 | sub 1 | 1 |
+---------+--------+------------+
1 row in set (0.07 sec)