SP里怎么运行这样的sql?

#1 prince

有3个表:t1,t2,t3
select * from t1 left JOIN (t2,t3) ON (t2.a=t1.a AND t3.b=t1.b)


我这样表达不知道大家看不看得明白!!!!????

2012-03-04 21:56:42

#2 jake

findSql {:soso_e113:}

2012-03-04 22:13:06

#3 prince

1
// 这里我们将对留言本分析一下,归纳一下留言者名单以及各个留言者的留言总数。
2
// 首先准备SQL语句
3
$sql = "SELECT name, count(name) as gbsum FROM spgb_gb WHERE 1 GROUP BY name";
4
$gb = spClass('gb'); // 初始化留言本模型类
5
$result = $gb->findSql($sql); // 执行查找
上面是教程里提到的,但是现在有三个甚至更多的表,这个$gb=spClass('gb');只初始化一个表,现在的情况是三个表要初始化,那初始化后怎么让findSql同时得到已经初始化的三个模型(表达很乱)?

2012-03-04 22:39:55

#4 jake

是很乱。或者可能你对模型的概念不理解。表不等于模型,有些模型可能没有表的、有些表可能没有模型。模型只是对应“业务逻辑”,而findSql是一个工具。  

从业务逻辑来考虑,一个业务对象对应一个模型,在模型里面,使用工具findSql来查询一个或者多个表,是“实现模型的一个业务操作”,即使这个业务涉及到多个表,但并不代表“多个模型”,“模型”是抽象概念的。

上面的spClass的确只是实例化了一个模型,而findSql是通过模型内置工具findSql的去“执行SQL”语句。不管它查找了多少个表,它都是模型的工具接口,而并非模型本身。




2012-03-04 22:44:15

#5 liuhui244671426

2人头像一样!!!

2012-03-12 23:15:26