我有三张桌子,结构如下:
Trips: id
Users: id
users_has_trips: user_id, trips_id
我当前的查询:
SELECT trips.id
FROM trips
LEFT JOIN users_has_trips ON users_has_trips.trips_id = trips.id
WHERE users_has_trips.users_id != '1'
如果users_has_trips.users_id
中的值设置为某个值(例如1),我不想选择trip.id。 users_has_trips
有多行具有users_has_trips.trips_id
的相同值,因此当我删除包含不需要的users_id的行时,我仍会显示行。
例如,trip.id值为1和2. users_has_trips列(trips_id,users_id)的值分别为(1,1),(1,2)和(1,3)。
当我运行上面的查询时,WHERE将消除(1,1)的行,但仍然会在行(1,2),(1,3)中获取1的trips.id,以及trip.id of 2。
期望的结果是不选择trips.id值为1(因为我的users_id与之关联)并且只获取trip.id值为2。