【发布时间】:2015-03-10 18:33:57
【问题描述】:
我尝试使用 LEFT JOIN 发送 SQL 请求,但它不显示来自 table2 表的数据。
public static function top($limit)
{
return self::findBySql("
SELECT * FROM table 1 g1
LEFT JOIN table2 s1
ON (g1.id = s1.g_id AND s1.id = (
SELECT MAX(id)
FROM table2 s2 WHERE s2.g_id = g1.id
))
LIMIT :limit",
[':limit' => $limit]
)->all();
}
【问题讨论】:
-
您还需要将 table2 中的列添加到您的 select 子句中。
-
@PawełDuda,我试过了。我得到了同样的结果。
-
试试这个:SELECT * FROM table 1 g1 LEFT JOIN table2 s1 ON (g1.id = s1.g_id) WHERE s1.id = ( SELECT MAX(id) FROM table2 s2 WHERE s2.g_id = g1.id ) 限制:限制
-
在表中显示 DDL SQL。
-
你的sql查询不正确。请参阅下面的答案。
标签: activerecord yii yii2