У меня есть две таблицы MySQL - 1) пользователи и 2) StorageMapping.
id, имя
id, userId, inventoryId
Из приведенного выше вы можете видеть, что таблица «StorageMapping» - это таблица сопоставления, которая покажет, какие идентификаторы хранилища связаны с конкретным пользователем. Для пользователя будет несколько идентификаторов хранилища.
SELECT * FROM `users`
LEFT JOIN warehouseMapping
ON warehouseMapping.userId = users.id
WHERE 1 AND warehouseMapping.warehouseId IN (1, 2)
Я намерен показать пользователей, у которых есть складские идентификаторы 1 и 2.
После отправки того же самого MySQL дважды показывал мне одно и то же имя пользователя.
Входы для таблицы пользователей:
id name
***************************
1 Niladri
2 Tanay
Входы для склада Картографическая таблица:
id userId warehouseId
*****************************
1 1 1
2 1 2
3 1 3
4 2 1
5 2 2
@ChetanRanpariya - вопрос обновлен. Пожалуйста, проверьте то же самое.






Если вы хотите найти пользователей, у которых есть оба хранилища, вот один способ:
SELECT u.id, u.name
FROM users u
LEFT JOIN warehouseMapping w
ON w.userId = u.id
WHERE w.warehouseId IN (1, 2)
GROUP BY u.id
HAVING COUNT(DISTINCT w.warehouseId) = 2;
Пожалуйста, поделитесь некоторыми входными данными и ожидаемым результатом, а также желаете получить фактический результат.