SELECT * FROM users WHERE uid IN (SELECT doctors FROM MainPage WHERE Valid=1)
Run Code Online (Sandbox Code Playgroud)
users值为的表uid INTMainpagetabledoctors text1,2,3,4,5
当我运行上面的查询时,只得到1行,这对于uid = 1,但是我想要所有5行。因此在MySQL中,我使用了以下查询:
SELECT *
FROM users
JOIN MainPage ON FIND_IN_SET(uid, doctors)
WHERE Valid = 1;
Run Code Online (Sandbox Code Playgroud)
有效。我正在尝试在SQL Server中找到等效项FIND_IN_SET以实现相同的结果?
这可能有效
SELECT *
FROM users u
WHERE EXISTS (
SELECT *
FROM MainPage
WHERE CONCAT(',',doctors,',') LIKE CONCAT('%,',u.uid,',%')
AND Valid = 1
)
Run Code Online (Sandbox Code Playgroud)