mysql中的依赖查询?

时间:2013-09-24 09:31:35

标签: mysql sql

我有三张表,例如 A,B,C ,这就是我的要求

    A表中有两个来自B和C表的外键和
  • 我想如果b_id不为null,那么从 B表中获取数据
  • 如果c_id不为null,则从 C表获取数据。

B和C表具有三到四个列。请参阅以下结构。

A Table
a_id(pk) |  b_id(fk) | C_id(fk)

1        |    null   |         1
2        |       2   |      null

对于上述要求,我试过但没有实现我的目标。请任何人这样做。

提前致谢

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你想在表B和C

上进行左连接
Select B.*, C.*
From table_A A left join Table_B B on A.B_Id=B.Id
left join Table_C C on A.C_Id = C.Id

答案 1 :(得分:0)

可能你的意思是在表B和C上有left joinsCOALESCE有一些值(或者值?你没有提供任何列列表或者你想要的输出是什么所以我假设那里只是一个内容包含表B中的列以及C)

为了从这些表中的一列中选择,我将执行以下操作

SELECT
        COALESCE(B.yourcontentcolumn, C.yourcontentcolumn, <defaultvalueifnull>)
    FROM A
    LEFT JOIN B ON B.id = A.b_id
    LEFT JOIN C ON C.id = A.c_id