我的桌子
pets
pet_lost
给我所有pets
where user_id = 1
...但如果pet_lost
pet_lost.pet_id = pets.id
数据
我总是希望引入pets
where user_id = 1
,但如果有连接,我想访问pet_lost
数据...
有意义吗?
答案 0 :(得分:0)
您可以使用left outer join
和相应的where
条款将其转换为查询:
select *
from pets p left outer join
pet_lost pl
on pl.pet_id = p.id
where p.user_id = 1 or pl.pet_id is not null;
编辑:
您可以将其命名为:
select p.*
from pets p
where p.user_id = 1 or
p.id in (select pl.pet_id from pet_lost);
答案 1 :(得分:0)
我不确定为什么你有2张桌子,但从我看到的情况来看,我会在宠物栏中放置一个二进制字段,以便对宠物状态表示是或否。
但是如果你要保持你的牌桌,那么你会使用" Union"查询将2个表放在一起。
请记住,宠物桌上不能丢失宠物身份。
我会推荐宠物表中的二进制字段并删除宠物遗失表。