我有一个包含产品信息的数据库表和一个包含税率的数据库表。
我的问题是我将这两张桌子加在一起,效果很好..直到我禁用"纳税"在产品DB的一行。现在我的查询正在尝试加入,但是没有找到外键,我根本没有得到任何结果。我想以任何方式获取结果。我正在使用代码点火器语法,但它应该是非常明显的在这里发生:
$this->db->from('inventoryTaxRates a');
$this->db->join('inventory_items q', 'q.inventoryTaxRateID = a.inventoryTaxRateID');
有时q.inventyTaxRateID变为0或禁用..查询无法连接这两个表并且没有给出任何结果。我希望它仍然给我inventory_items的结果。
我也尝试过离开加入:
$this->db->join('inventory_items q', 'q.inventoryTaxRateID = a.inventoryTaxRateID', 'left');
答案 0 :(得分:3)
您可以像这样指定一个右连接:
$this->db->join('inventory_items q',
'q.inventoryTaxRateID = a.inventoryTaxRateID',
'right');
答案 1 :(得分:1)
你can use RIGHT JOIN,但我想像这样重写查询:
SELECT .. FROM inventory_items ...
LEFT JOIN inventoryTaxRates ...