Heim > Artikel > Backend-Entwicklung > 有这样两张数据表怎么将他们关联在一起呢求大神帮助
第一张表是部门表如下图所示
字段名称 字段 类型
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;
这样写会有错吗???
出什么错?贴出错误信息