MySQL LEFT JOIN 示例 [英] MySQL LEFT JOIN example
本文介绍了MySQL LEFT JOIN 示例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在处理 PHP 文件和 MySQL.
I am working on a PHP file and MySQL.
在一个文件中,我需要从三个表中选择记录.
On a file, I need to select records from three tables.
如果使用两个表进行查询:
If a make a query with two tables:
$query_Recordset1 = "
SELECT * FROM tbgastos
LEFT JOIN tbconceptosgastos
ON tbgastos.tipoGasto = tbconceptosgastos.idConceptoGasto
LEFT JOIN tbobras
ON tbgastos.obra = tbobras.idObra
ORDER BY fecha DESC
";
它工作正常,但如果我尝试用三个表来制作它:
it works fine, but if I try to make it with three tables:
$query_Recordset1 = "
SELECT * FROM tbgastos
LEFT JOIN tbconceptosgastos
ON tbgastos.tipoGasto = tbconceptosgastos.idConceptoGasto
LEFT JOIN tbobras
ON tbgastos.obra = tbobras.idObra
LEFT JOIN tbproveedores
ON tbgastos.proveedor = tbproveedores.nombreProveedor
ORDER BY fecha DESC
";
第三个表 (tbprovedores
) 记录未显示.
the third table (tbproveedores
) records are not shown.
我做错了什么?
更新
tbgastos
tbprovedores
tbproveedores
推荐答案
在您的表 tbgastos 中,您有一个 int 类型(证明者)的外键.并且您希望它与表 tbprovedores 相匹配.你不想指向 tbproveedores.idProveedor 吗?
In your table tbgastos, you have a foreign key of a int type (proveedor). And you want it to match to the table tbproveedores. Don't you want to point on tbproveedores.idProveedor ?
$query_Recordset1 = "
SELECT * FROM tbgastos
LEFT JOIN tbconceptosgastos
ON tbgastos.tipoGasto = tbconceptosgastos.idConceptoGasto
LEFT JOIN tbobras
ON tbgastos.obra = tbobras.idObra
LEFT JOIN tbproveedores
ON tbgastos.proveedor = tbproveedores.idProveedor
ORDER BY fecha DESC
";
这篇关于MySQL LEFT JOIN 示例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文