所以我有一个带有id的表,用一个字母开头表示它们与哪个表ID相关,即D86表示它们位于id为86的$object = 'a'
$object -ne $null
#True
$object -eq $null
#False
$null -ne $object
#True
$null -eq $object
#False
表中,并且L86表示他们位于division
表中,ID为86.
所以我想知道是否有可能做lab
之类的事情而使用col like 'D%' left join div on ...
来做另一件事。
答案 0 :(得分:1)
您可以这样做:
select . . .
from t left join
division d
on t.id = concat('D', d.id) left join
lab l
on t.id = concat('L', l.id);
答案 1 :(得分:0)
我是如何解决它的。
SELECT * FROM user
LEFT JOIN general_group
ON general_group.id = user.id
LEFT JOIN `div`
ON `div`.id = substr(general_group.where_id,2)
WHERE general_group.where_id LIKE 'D%'
UNION
SELECT * FROM user
LEFT JOIN general_group
ON general_group.id = user.id
LEFT JOIN `lab`
ON `lab`.id = substr(general_group.where_id,2)
WHERE general_group.where_id LIKE 'L%';