2015-04-14 1 views
0

Оригинальный запросВЫБРАТЬ из другой таблицы и LEFT JOIN

SELECT user_id, user_location, displayname FROM engine4_users WHERE user_location IS NOT NULL 

который печатает user_id, USER_LOCATION и DisplayName,

Ex: 
1 30,32 demo 
2 30,31 demo 
3 33,32 demo 

но теперь мне нужно ВЗ получить изображение пользователя из другой таблицы и у меня есть это,

SELECT s.storage_path as url FROM engine4_storage_files as s 
LEFT JOIN engine4_users as u ON s.file_id = u.photo_id 

который печатает только

в URL

Что мне нужно добавить, что URL-адрес для первого запроса

+0

просто добавить недостающие поля от первого запроса до второго запроса? –

+0

они находятся в разных таблицах –

+1

вы используете обе таблицы во втором запросе? просто измените 'SELECT s.storage_path' на' SElECT u. *, s.storage_path' –

ответ

2

Попробуйте это:

SELECT u.user_id, u.user_location, u.displayname, s.storage_path as url 
FROM engine4_users u 
LEFT JOIN engine4_storage_files s 
ON s.file_id = u.photo_id 
WHERE u.user_location IS NOT NULL

Extended по запросу в комментариях:

SELECT u.user_id, u.user_location, u.displayname, w.value as about, s.storage_path as url 
FROM engine4_users u 
LEFT JOIN engine4_user_fields_values w 
ON w.item_id = u.user_id 
LEFT JOIN engine4_storage_files s 
ON s.file_id = u.photo_id 
WHERE u.user_location IS NOT NULL
+0

Он имеет эту ошибку «Неизвестный столбец s.storage_path» в «списке полей» ». Я думаю, что это работает правильно; я прав? 'ВЫБРАТЬ u.user_id, u.user_location, u.displayname, storage_path, как URL ИЗ engine4_users у LEFT JOIN engine4_storage_files ON file_id = u.photo_id ГДЕ u.user_location НЕ NULL' –

+0

О я извиняюсь, что я забыли указать псевдоним engine4_storage_files. Я отредактировал мой ответ, так что должно быть работоспособным сейчас :) – AkiEru

+0

Что делать, если я хотел бы добавить этот 'ВЫБРАТЬ w.value, как о ОТ engine4_user_fields_values ​​ж WHERE w.field_id = 13' –

Смежные вопросы