使用PHP在MySQL查询期间获取联接数据 我的环境:
我有这些桌子: 表使用PHP在MySQL查询期间获取联接数据 我的环境:,php,mysql,Php,Mysql,我有这些桌子: 表\uuuuu账单: |----------|----------|----------|--------------|---------------------| | BIL_Id | BIL_Item | BIL_Rate | BIL_Quantity | BIL_ApplicableTaxes | |----------|----------|----------|--------------|---------------------| | 1 | Ho
\uuuuu账单:
|----------|----------|----------|--------------|---------------------|
| BIL_Id | BIL_Item | BIL_Rate | BIL_Quantity | BIL_ApplicableTaxes |
|----------|----------|----------|--------------|---------------------|
| 1 | Hot-Dog | 4.50 | 2 | 3 |
| 2 | Tea | 3.25 | 3 | 3,4 |
|----------|----------|----------|--------------|---------------------|
|----------|--------------|------------|
| STX_Id | STX_TaxeName | STX_Amount |
|----------|--------------|------------|
| 3 | Tax 1 | 3.50 |
| 4 | Tax 2 | 6.55 |
|----------|--------------|------------|
BIL\u Id
=此表中此项目的Id。
BIL\u Item
=项目的id(参考uuuuuu销售税表)。
BIL\u数量
=客户使用的物品数量。
BIL\u applicatabletaxes
=此项目的适用税id。每个纳税id以逗号分隔。
表\uuuuuuuuu销售税:
|----------|----------|----------|--------------|---------------------|
| BIL_Id | BIL_Item | BIL_Rate | BIL_Quantity | BIL_ApplicableTaxes |
|----------|----------|----------|--------------|---------------------|
| 1 | Hot-Dog | 4.50 | 2 | 3 |
| 2 | Tea | 3.25 | 3 | 3,4 |
|----------|----------|----------|--------------|---------------------|
|----------|--------------|------------|
| STX_Id | STX_TaxeName | STX_Amount |
|----------|--------------|------------|
| 3 | Tax 1 | 3.50 |
| 4 | Tax 2 | 6.55 |
|----------|--------------|------------|
STX\u Id
=此表中此项目的Id。
STX\u TaxeName
=税款的名称。
STX\U金额
=以税款百分比表示的金额。
我的问题:
如何从这两个表中循环到\uuuuuu计费
表中,以获得我需要应用的百分比税
例如:
- 对于第一行,我应该有:
3.50
- 对于第二行,我应该有:
3.50、6.55
希望问题清楚
谢谢。如果您的查询措辞正确,您可以使用MySQL的FIND_IN_SET()
函数在BIL_applicatabletaxes
列中的CSV列表中匹配税号:
SELECT t1.BIL_Id,
t1.BIL_Rate,
GROUP_CONCAT(COALESCE(t2.STX_Amount, 'NA')) AS tax_due
FROM ___Billing t1
LEFT JOIN ___SalesTaxes t2
ON FIND_IN_SET(t2.STX_Id, t1.BIL_ApplicableTaxes) > 0
GROUP BY t1.BIL_Id
<>但是,你应该认真考虑规范< >代码>帐单< /代码>表并删除CSV数据。相反,每个税目都应该有自己的记录
此处演示:
感谢您对这个问题的关注。我可以从\uuuuuuu Billing
表开始查询,还是需要从\uuuuuuuu salesaxtaxs
表开始查询?@user7347588是的,您可以,我更新了您的建议。