sql 用于获取拼车数据库架构中未提供任何乘车服务的用户的命令
sql commands to fetch the users who didn't offerd any rides in carpooling databasel schema
拼车数据库模式
ride_users table 中的用户也是 RIDE table 中的乘车提供者。
我必须从 user_details table 中识别未提供任何乘车服务的用户详细信息,即他们不是乘车服务提供商。
试过了,但没有得到想要的结果。
select r1.user_id, u.*
from ride_users r1, user_details u
where r1.user_id <> (select distinct r1.user_id
from ride_users r1 , ride r2
where r1.ride_id = r2.ride_id
and r1.user_id = r2.ride_provider_id
group by r1.user_id);`
根据您的描述,这听起来像是您想要的:
SELECT u.*
FROM user_details u
WHERE NOT EXISTS (SELECT 1 FROM ride_users r1
WHERE r1.user_id = u.user_id)
使用 Left join 并检查 null 以查看第二个实体是否存在 table。
SELECT u.*
FROM user_details u
LEFT JOIN ride r ON u.user_id = r.ride_provider_id
WHERE r.ride_provider_id IS NULL
拼车数据库模式
ride_users table 中的用户也是 RIDE table 中的乘车提供者。 我必须从 user_details table 中识别未提供任何乘车服务的用户详细信息,即他们不是乘车服务提供商。
试过了,但没有得到想要的结果。
select r1.user_id, u.*
from ride_users r1, user_details u
where r1.user_id <> (select distinct r1.user_id
from ride_users r1 , ride r2
where r1.ride_id = r2.ride_id
and r1.user_id = r2.ride_provider_id
group by r1.user_id);`
根据您的描述,这听起来像是您想要的:
SELECT u.*
FROM user_details u
WHERE NOT EXISTS (SELECT 1 FROM ride_users r1
WHERE r1.user_id = u.user_id)
使用 Left join 并检查 null 以查看第二个实体是否存在 table。
SELECT u.*
FROM user_details u
LEFT JOIN ride r ON u.user_id = r.ride_provider_id
WHERE r.ride_provider_id IS NULL