我正在查询数据库,我需要它来返回所有值。我正在加入两个表 storage_path 和用户第一个用户存在于第一个和第二个表中的user_id字段。表storage_path中不存在第二个用户,但我还需要通过查询返回的用户!
我怎样才能做到这一点?
以下是更清楚的查询...
此查询在while循环切换user_id变量
中$item_id = $row['user_id'];
$sql = "SELECT MAX(sf.file_id) as file_id, sf.storage_path as image, u.photo_id
FROM engine4_users u
LEFT JOIN engine4_storage_files sf
ON sf.user_id = u.user_id
WHERE sf.type = 'thumb.icon' AND u.user_id = $item_id";
答案 0 :(得分:0)
查询中的问题看起来与您使用MAX选择字段但未提供GROUP BY字段这一事实有关。
试试这个:
$sql = "SELECT MAX(sf.file_id) as file_id, sf.storage_path as image, u.photo_id
FROM engine4_users u
LEFT JOIN engine4_storage_files sf
ON sf.user_id = u.user_id
WHERE sf.type = 'thumb.icon' AND u.user_id = $item_id
GROUP BY u.user_id";