|
|
原帖由 newkid 于 2009-1-21 00:10 发表 ![]()
员工表,部门表。员工表里面只有部门ID, 没有部门名称。现在我查询一批员工信息,连同部门的名称。这个就是JOIN的典型应用。数据集是一个游标,结合了两张表的信息。
你的做法是怎么样呢?用你的两个DAU连接后,信息仍然被拆开,员工里面仍然只有部门ID,是不是?
//#include <DAU_utility.h>
#include <kpapp.h>
JSON_OBJECT get_user(GDA *ctx,char *msg)
{
int ret;
DAU u_DAU[2];
JSON_OBJECT result,json;
result=json_object_new_array();
ret=DAU_init(&u_DAU[0],ctx->SQL_Connect,"user a",0,0);
ret=DAU_init(&u_DAU[1],ctx->SQL_Connect,"unit b",0,0);
sprintf(msg,"WHERE a.unit=b.unit_id");
ret=DAU_getm(2,u_DAU,msg,0);
while(!DAU_nextm(2,u_DAU)) {
json=json_object_new_object();
DAU_toJSON(&u_DAU[0],json,0);//user全部打包到json
DAU_toJSON(&u_DAU[1],json,"unit_name");//组合unit_name到json
json_object_array_add(result,json);//在JSON数组中加入一条记录
}
DAU_freem(2,u_DAU);
return result;//JSON数组提交客户端,由其自行处理
}
[ 本帖最后由 yulihua49 于 2009-1-22 10:10 编辑 ] |
|