我的数据库中有用户表,并且有一个user_type字段,如果值为0,则为0或1.如果没有学生表,我希望它与教师表连接。
有可能吗?
答案 0 :(得分:2)
您也可以使用交叉申请或CTE,但是因为您没有指定数据库,您使用它应该作为通用解决方案
Select t1.fields,t2.fields
From user_table t1
LEFT JOIN teacher_table t2
ON t1.ID=t2.ID
and t1.user_type_field=0
UNION ALL
Select t1.fields,t2.fields
From user_table t1
LEFT JOIN student_table t2
ON t1.ID=t2.ID
and t1.user_type_field=1
答案 1 :(得分:1)
如果您的teacher
和user
表格具有相同的列并且您不想要重复记录,请使用UNION
代替UNION ALL
Select *
From user_table u
LEFT JOIN teacher_table t
ON u.ID=t.ID
and u.user_type_field=0
UNION
Select *
From user_table u
LEFT JOIN student_table t
ON u.ID=t.ID
and u.user_type_field=1
将
*
替换为您需要选择的任何字段 所有领域都可能会严重影响你的表现。
答案 2 :(得分:0)
为了便于理解,您完全可以在代码隐藏中使用它。 例如。使用Enum进行该领域。