我有一个链接用户的表。请考虑以下内容:
**Table contracts:**
contract_id int,
contract_number varchar,
user_id int
**Table users:**
user_id int
**Table user_links**
user_id int,
linked_user_id int
user_links表对于特定的user_id可以有0行,假定用户没有链接的用户,因此select语句可以返回一行或NULL。
如果user_links表中没有行,则left join user_links ul on ul.user_id = contracts.user_id OR ul.linked_user_id = contracts.user_id
的方法似乎不起作用。
如果只有intuser_id,我如何从合同表中同时获得user_id和linked_user_id的行?例如,如果user_id 1有linked_user_id 2,我需要两个用户的合同行;但是,如果用户在user_links表中没有行,我仍然需要获取他们的合同。
1条答案
按热度按时间np8igboo1#
假设您的输入user_id是变量@user_id,那么下面的查询将获得该用户的所有合同,如果有链接的用户的话。