> 백엔드 개발 > PHP 튜토리얼 > 有这样两张数据表怎么将他们关联在一起呢求大神帮助

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

WBOY
풀어 주다: 2016-06-23 14:11:02
원래의
1009명이 탐색했습니다.

第一张表是部门表如下图所示
字段名称 字段 类型
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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿