首页 > 后端开发 > php教程 > 有这样两张数据表怎么将他们关联在一起呢求大神帮助

有这样两张数据表怎么将他们关联在一起呢求大神帮助

WBOY
发布: 2016-06-23 14:11:02
原创
1008 人浏览过

第一张表是部门表如下图所示
字段名称 字段 类型
ID ID bigint
部门名称 dpName varchar(20)
上级部门 dpUpID varchar(20)


第二张表是产品入库表如下所示
字段名称 字段             类型
ID ID          bigint
入库部门 into_depment varchar(20)
入库时间 into_time varchar(20)
设备类型 into_type varchar(20)
设备参数 into_confg text
采购数量 into_numb varchar(20)
采购单价 into_price varchar(20)

是否审核通 into_check varchar(10)
入库人 into_name varchar(20)
备注 into_noto varchar(100)

现在要把某一个部门底下级别底下的二级部门的产品统计出来,像这样的话将怎么写SQL语句,用PHP怎么才能实现,就大神们指点..


回复讨论(解决方案)

部门表




产品入库表




我先是这样写的

include("../conn/conn.php");
$query_1 = "select * from tbl_department where dpUpID ='0'";
$query_info_1 = mysql_query($query_1);
while($row_1 = mysql_fetch_array($query_info_1)){
$row_1[dpUpID];
$tmp_1[] = $row_1[dpName]; //1级
echo $row_1[dpName]."
";
print_r($tmp_1);
echo "
";
$query_2 = "select * from tbl_department where dpUpID = '$row_1[ID]'";
$query_info_2 = mysql_query($query_2);
while($row_2 = mysql_fetch_array($query_info_2)){  
$tmp_2[] = $row_2[dpName]; //2
$tmp_2ID[] = $row_2[ID];
$into_dpID = implode(",",$tmp_2ID);
echo "第二级".$row_2[dpName]."
";
print_r($tmp_2);
echo "
";
$query_3 = "select * from tbl_department where dpUpID = '$row_2[ID]'";
$query_info_3 = mysql_query($query_3);
while($row_3 = mysql_fetch_array($query_info_3)){  
$tmp_3[] = $row_3[dpName]; //3
echo "第三级".$row_3[dpName]."
";
print_r($tmp_3);
echo "
";
$query_4 = "select * from tbl_department where dpUpID = '$row_3[ID]'";
$query_info_4 = mysql_query($query_4);
while($row_4 = mysql_fetch_array($query_info_4)){
$tmp_4[] = $row_4[dpName]; //4
echo "第四级".$row_4[dpName]."
";
print_r($tmp_4);
echo "
";
}
}
}
}

运行的结果是:
润安大厦
Array ( [0] => 润安大厦 ) 
第二级信息部
Array ( [0] => 信息部 ) 
第三级ssss
Array ( [0] => ssss ) 
第四级hhh
Array ( [0] => hhh ) 
第二级财务部
Array ( [0] => 信息部 [1] => 财务部 ) 
第二级行政人事部
Array ( [0] => 信息部 [1] => 财务部 [2] => 行政人事部 ) 
第二级研发部
Array ( [0] => 信息部 [1] => 财务部 [2] => 行政人事部 [3] => 研发部 ) 
金梦大厦
Array ( [0] => 润安大厦 [1] => 金梦大厦 ) 
第二级财务部
Array ( [0] => 信息部 [1] => 财务部 [2] => 行政人事部 [3] => 研发部 [4] => 财务部 ) 
第二级信息部
Array ( [0] => 信息部 [1] => 财务部 [2] => 行政人事部 [3] => 研发部 [4] => 财务部 [5] => 信息部 ) 
恒丰大厦
Array ( [0] => 润安大厦 [1] => 金梦大厦 [2] => 恒丰大厦 )

现有的部门结果如下:

 
我需要统计出
XXX大厦底下的所有部门的产品数


其中在产品入库表中的into_dpID字段和部门表中ID字段是一样的....

select * from 部门表 a inner join 产品入库表 b on a.ID=b.into_depment where a.dpUpID=1

select * from 部门表 a inner join 产品入库表 b on a.ID=b.into_depment where a.dpUpID=1

提示错误啊,
$query_count = "select * from tbl_department a inner join tbl_into b on a.ID=b.into_dpID where a.dpUpID=0"
$sql_count = mysql_query($query_count);
$result = mysql_result($sql_count,0);
echo $result;
这样写会有错吗???

出什么错?贴出错误信息

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板