выберите пользователя, пользователя, группы, пользователя.
от пользователей, групп, u2g
где users.u = u2g.u и groups.g = u2g.g
, который возвращает такие данные:
user, group, something
----------------------
1 , 3, a
1 , 5, b
2 , 3, c
3 , 3, d
4 , 5, e
Теперь я хотел бы ограничить этот запрос таким образом, чтобы он отображал только пользователей, которые оба в группах 3 и 5 - так что он будет возвращать только {1,3, a}, {1 , 5, b} для моего примера данных.
edit: я добавил еще один столбец к данным, потому что может быть неправильное решение с использованием группы по.
edit2: извините, я был введен в заблуждение документацией. MySQL 4.0 не поддерживает подзапросы: (
edit3: Этот SQL будет сгенерирован программно для любого количества групп (ну, до 20 в текущей спецификации), поэтому я бы хотел избежать решений, которые дают мне слишком много дополнительного кодирования. Если решение не будет найдено, я просто изменю итоговую таблицу данных .Net 1.1, но я хотел бы избежать этого, если это возможно.
edit4: есть новая идея? Возможно один без подзапросов, который включает IN (3,5)?