我有三张table: pd_tprofessional
, pd_tpreference
以及 pd_tprofessional_preference
. pd_tprofessional
以及 pd_tpreference
具有唯一id( fkprofessional
以及 fkpreference
分别)。 pd_tprofessional_preference
有3列: fkpreference
, patientpreference_selected
, fkprofessional
我要做的是编写一个查询,它将获得所有 pd_tpreference
然后回来 patientpreference_selected
根据if为1或0 fkprofessional
是13岁 pd_tprofessional_preference
有了这个 fkprofessional
存在。
到目前为止我得到的是:
SELECT patientpreference_selected, fkprofessional, pkpreference, preference_name
FROM pd_tprofessional_preference
RIGHT OUTER JOIN pd_tpreference
ON pd_tpreference.pkpreference = pd_tprofessional_preference.fkpreference
这个问题给了我所有的答案 pd_tpreference
把他们和 pd_tprofessional_preference
,现在我要回去了 patientpreference_selected
如果该记录存在于 pd_tprofessional_preference
当 fkprofessional
是13岁 fkpreference
. 我真的希望这有意义。
1条答案
按热度按时间rdrgkggo1#
传统且易于阅读的方法是使用
Left Join
. 你可以做一个左连接从pd_tpreference
餐桌pd_tprofessional_preference
table。在连接中
ON
条件,指定fkprofessional = 13
.你可以用
Coalesce()
函数来处理在pd_tprofessional_preference
table。在多表查询中,建议使用别名以提高代码的清晰度并避免模棱两可的行为。
请尝试以下操作: