希望从中获取所有UserName
信息UsersDataTbl
并从中进行匹配UserName
(EnrollmentsTbl
如果存在)。但我想确定中存在哪些EnrollmentsTbl
记录,而不要创建2条记录。也许添加一个布尔表达式,如果不1
存在0
则获取该布尔表达式。
我的SQL只返回现有的记录 EnrollmentsTbl
SELECT u.UserName
, e.Completed
FROM UsersDataTbl u
LEFT
JOIN EnrollmentsTbl e
ON u.UserName = e.UserName
WHERE e.ClassName LIKE 'Word%'
AND u.UserName LIKE 'bar%'
其他问题:
(SELECT u.UserName, u.LastName, d.Station
, (e.UserName IS NOT NULL) as completedl
FROM UsersDataTbl u
LEFT
JOIN EnrollmentsTbl e
ON u.UserName = e.UserName
AND e.ClassName LIKE 'Word%')
INNER JOIN UsersDataCareerTbl d
ON u.UserName = d.UserName
WHERE u.Career = 1 AND Active = 1 ORDER BY u.LastName
您可以使用is not null
来测试字段的值是否为null并返回true或false。如果用户名不存在,EnrollmentsTbl
则左联接将返回null
其位置。
我提出的e.ClassName LIKE 'Word%
从标准where
条款的加入条件,因为它改变了left join
到inner join
击败查询的全部目的。
SELECT u.UserName
, (e.UserName IS NOT NULL) as user_exists_in_EnrollmentsTbl
FROM UsersDataTbl u
LEFT
JOIN EnrollmentsTbl e
ON u.UserName = e.UserName
AND e.ClassName LIKE 'Word%'
WHERE u.UserName LIKE 'bar%'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句