我正在开发一个需要朋友请求的网站,而我想要做的就是当登录用户搜索时,在结果中有些人已经是他或她的朋友,它应该识别但是我&#39我很难做到这一点。
SELECT CASE WHEN resp_email = 'Yes' THEN 'Friend' ELSE 'Send Request' END as Answer
FROM dbo.profile
INNER JOIN friends On profile.email = MMColParam
WHERE fname LIKE %varsearch%
ORDER BY fname ASC
我希望你们能理解我的问题。
答案 0 :(得分:0)
试试这个
SELECT
CASE WHEN ISNULL(resp_email, 'No') = 'No' THEN 'Send Request' ELSE 'Friend' END as Answer
FROM
dbo.profile p
LEFT JOIN friends f On p.email = f.[CurrentUserIDCol]
AND f.[CurrentUserIDCol] = 'CurrentUserID'
WHERE
fname LIKE %varsearch%
ORDER BY fname ASC
提示:选择所有配置文件,执行左连接以确保选中所有配置文件记录。 检查JOIN右侧的NULL(好友表)。如果为NULL,那么它还不是朋友
构建条件的其他方式
CASE WHEN resp_email IS NOT NULL AND resp_email = 'Yes' THEN 'Friend' ELSE 'Send Request' END Answer