предполагающих у нас есть таблица пользователей, как это:Заказать SQL результатов, используя значение Count() из другой таблицы
ID | USERNAME | STATUS |
01 | Aname | 1 |
02 | Bname | 1 |
03 | Cname | 2 |
04 | Dname | 1 |
есть также две другие таблицы, где для каждого пользователя, записывают элементы, которые пользователи «есть», для примера, видео и фотографий, позволяет предположить, видео таблица выглядит так:
ID | USER | VIDEO |
01 | 01 | aaaa |
02 | 01 | bbbb |
03 | 02 | cccc |
04 | 02 | dddd |
05 | 03 | eeee |
06 | 03 | ffff |
07 | 03 | gggg |
то же самое для фотографий:
ID | USER | PHOTO |
01 | 01 | aaaa |
02 | 02 | cccc |
03 | 02 | dddd |
04 | 03 | eeee |
05 | 03 | ffff |
06 | 03 | gggg |
сейчас, я пытаюсь заказать результаты первой таблицы в поле STATUS
, поэтому пользователи со статусом 2 будут идти в конце (или начале) результатов, но я хотел бы заказать остальные факт, что у них есть или нет видео или фотографий. Фактически для всех пользователей в статусе 1 я проверяю, есть ли у них видео И фотографии и отображает сообщение типа «предупреждение, у вас нет видео» или что-то в этом роде, я также хотел бы заказать всех пользователей на основе статуса и по факту что у них есть или нет фото или видео ... что-то вроде:
SELECT id,username,status,NumOfPhotos,NumOfVideos order by status ASC, numOfPhotos ASC, NumOfVideos DESC
где NumOfPhotos
, например, является SELECT COUNT(*) FROM PHOTOS WHERE USER = USERS.ID
возможно ли это? возможно ли это в одном заявлении?