Я делаю пользовательский белый список, где моя основная таблица book_list, содержащий id - первичный ключ и другие столбцы, которые неважны. Другая таблица - это белый список, который содержит внешний ключ из book_list и другой ключ, который является user_id.MySQL белый список запросов
book_list стол
--------------
| id |
---------------
| 10 |
| 11 |
| 12 |
| 13 |
---------------
Whitelist стол
---------------------------
| book_list_id | user_id |
----------------------------
| 10 | 1 |
| 10 | 2 |
----------------------------
Итак, когда user_id 1 просматривает, он/она должна увидеть все книги (10, 11, 12, 13), но если пользователь с id 5 выглядит он должен видеть только book_list ids (11, 12, 13)
Мой запрос был примерно таким, но он работает, если доступен только один идентификатор на book_id.
SELECT * FROM book_list bl
LEFT JOIN whitelist w ON bl.id = w.book_list_id AND w.user_id <> 1
WHERE w.book_list_id IS NULL
Примечание: у меня всегда есть user_id из сеанса, поэтому он жестко закодирован.
Я думаю, вам понадобится какой-то подзапрос, чтобы проверить, существует ли 'user_id' для этого' W.book_list_id'. – ryanyuyu