0

我正在查询数据库,我需要它来返回所有值。我正在加入两个表storage_pathusers第一个用户存在于第一个表中,第二个表中存在 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";
4

1 回答 1

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";
于 2013-03-22T12:50:24.873 回答