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

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

WBOY
Release: 2016-06-23 14:11:02
Original
978 people have browsed it

第一张表是部门表如下图所示
字段名称 字段 类型
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;
这样写会有错吗???

出什么错?贴出错误信息

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template