Php MySQL左连接示例
我正在处理一个PHP文件和MySQL 在一个文件中,我需要从三个表中选择记录 如果用户使用两个表进行查询:Php MySQL左连接示例,php,mysql,Php,Mysql,我正在处理一个PHP文件和MySQL 在一个文件中,我需要从三个表中选择记录 如果用户使用两个表进行查询: $query_Recordset1 = " SELECT * FROM tbgastos LEFT JOIN tbconceptosgastos ON tbgastos.tipoGasto = tbconceptosgastos.idConceptoGasto LEFT JOIN tbobras ON tbgastos.obra = tbobras.idObra
$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
";
它很好用,但如果我试着用三张桌子:
$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
";
第三个表(tbproveedores
)记录未显示
我做错了什么
更新
特加斯托斯
tProveedores
在表tbgastos中,有一个int类型的外键(proveedor)。 您希望它与表TBProveeStores匹配。您不想指出tbproveedores.idproveredor吗
$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
";
没有显示的是哪些列?切勿在联接查询中使用
SELECT*
。使用别名指定所需的列,如具有公用名称的列(如id
无法通过名称而不是数字索引检索。需要查看您的表格式和关系。请提供您的db架构和一些示例行。否则无法判断发生了什么。或者您没有任何与“proveedor”相关的记录。)在第三个表中,您在这里进行左联接,而不是联接。@samitha,我已用表格式和行内容更新了我的问题