我在mySQL中创建了一个联接表,看起来像这样。
SELECT junction_departments_qsps.departments_fk, junction_departments_qsps.checked, qsps.id, qsps.qsp_name, employees.id, employees.first_name, employees.last_name
FROM junction_departments_qsps
INNER JOIN qsps ON junction_departments_qsps.qsps_fk = qsps.id
INNER JOIN employees ON employees.department_id = junction_departments_qsps.departments_fk
WHERE junction_departments_qsps.checked = 1
正如您所看到的,我有一些具有相同列名“id”的表。在mySQL中,您将table-name链接到列名,如table-name.column-name。在PHP中,我通常会通过创建循环然后回显
来获取列名$variable["column-name"];
在PHP中有没有办法在mySQL中获取表名和列名?我试过这个
$variable["table-name.column-name"];
它不起作用。
我加入的桌子的问题是,当我这样做时
$variable["id"];
我没有得到正确的ID,因为我在mySQL中要求多个id。
谢谢你真的很感谢帮助! :)答案 0 :(得分:2)
您可以使用别名语法:
SELECT `id` as `object_id` FROM `objects`
我不知道MySQL是否喜欢别名中的.
,如果确实如此,那就太棒了!
答案 1 :(得分:0)
如果你在不同的表中有相同的列名,你可以在查询中使用AS,例如
select a.id AS ida, b.id AS idb FROM tab1 a join tab2 b using(column)
在结果中你有
$data['ida];
$data['idb'];