Php 将两个mysql查询连接在一起
我想在一个查询中得到以下两个查询。我试过了,但没能成功,你能帮帮我吗 提前感谢:) 查询:1Php 将两个mysql查询连接在一起,php,mysql,Php,Mysql,我想在一个查询中得到以下两个查询。我试过了,但没能成功,你能帮帮我吗 提前感谢:) 查询:1 " SELECT * FROM vouchers LEFT JOIN details on vouchers.voucher_no = details.voucher_no LEFT JOIN accounts on accounts.code = details.t_code WHERE (voucher_type='1' AND account_code='1001')
" SELECT * FROM vouchers
LEFT JOIN details on vouchers.voucher_no = details.voucher_no
LEFT JOIN accounts on accounts.code = details.t_code
WHERE (voucher_type='1' AND account_code='1001')
OR (voucher_type='0' AND t_code='1001')
OR (voucher_type='0' AND account_code='1001')"
查询:2
"SELECT * FROM details
LEFT JOIN vouchers on details.voucher_no = vouchers.voucher_no
LEFT JOIN accounts on accounts.code = vouchers.account_code
WHERE (voucher_type='1' AND account_code='1001')
OR (voucher_type='0' AND t_code='1001')
OR (voucher_type='0' AND account_code='1001')"
我尝试了以下操作,但收到一条错误消息,表明我的SQL语法有错误
$getData = $this->db->query("SELECT * FROM vouchers
LEFT JOIN details on vouchers.voucher_no = details.voucher_no
LEFT JOIN accounts on accounts.code = details.t_code
WHERE (voucher_type='1' AND account_code='1001')
OR (voucher_type='0' AND t_code='1001')
OR (voucher_type='0' AND account_code='1001'), <<I just separated with a comma
SELECT * FROM details
LEFT JOIN vouchers on details.voucher_no = vouchers.voucher_no
LEFT JOIN accounts on accounts.code = vouchers.account_code
WHERE (voucher_type='1' AND account_code='1001')
OR (voucher_type='0' AND t_code='1001')
OR (voucher_type='0' AND account_code='1001')");
if($getData->num_rows() > 0)
return $getData->result_array();
else
return null;
}
$getData=$this->db->query(“从凭证中选择*
凭证上的左联接详细信息。凭证号=详细信息。凭证号
在accounts.code=details.t\u code上左加入帐户
其中(凭证类型='1'和科目代码='1001')
或(凭证类型为“0”且t\U代码为“1001”)
或者(凭证类型='0'和账户代码='1001'),将它们与UNION ALL连接起来
$getData = $this->db->query("SELECT * FROM vouchers
LEFT JOIN details on vouchers.voucher_no = details.voucher_no
LEFT JOIN accounts on accounts.code = details.t_code
WHERE (voucher_type='1' AND account_code='1001')
OR (voucher_type='0' AND t_code='1001')
OR (voucher_type='0' AND account_code='1001')
UNION ALL
SELECT * FROM details
LEFT JOIN vouchers on details.voucher_no = vouchers.voucher_no
LEFT JOIN accounts on accounts.code = vouchers.account_code
WHERE (voucher_type='1' AND account_code='1001')
OR (voucher_type='0' AND t_code='1001')
OR (voucher_type='0' AND account_code='1001')");
您想如何加入它们?您是在谈论内部加入吗?您想在哪个字段上加入它们?看起来您想在详细信息和凭证之间进行外部加入。您可能可以将其重写为单个查询(例如,SELECT*FROM details,dictions…
),但如果没有,则始终存在全部联合。