У меня есть три таблицыSQLite условное где положение
ZoneTable
ID, Name
UserTable
ID, Name
UserZone
ZoneTableID, UserTableID
Сейчас.
SELECT ID, Name from ZoneTable
дает мне полный список зон.
Если я сделать следующее
SELECT ZoneTable.ID, ZoneTable.Name from ZoneTable LEFT JOIN UserZone on UserZone.ZoneTableID = ZoneTable.ID WHERE UserTableID = :ID GROUP BY ZoneTable.ID
дает мне список зон пользователю разрешен в.
Теперь, чтобы сделать вещи раздражают, если пользователь разрешен во всех зонах, то они не делают появляются в UserZone вообще.
Так или иначе, я могу получить список ZoneTableID для конкретного пользователя, если счетчик равен 0, тогда не применяйте предложение where, если count> 0, тогда отображаются только конкретные имена зон, все в одном запросе ,
Если это имеет смысл
Благодаря
Если я понял, вы хотите получить все идентификаторы ZoneID для пользователя, и если у пользователя нет никаких зон, вы хотите получить все имена ZoneNames. Правильно? Вы уверены, что хотите вернуть разные поля? Я думаю, что это две полные различные задачи/функции. Я бы рекомендовал вам разделить их на два утверждения. – etalon11