我尝试使用Google搜索,但在使用JOIN生成查询时,无法获取任何信息来回显特定表中的记录。
这是我的代码:
SELECT * FROM tbl1 INNER JOIN tbl2 ON tbl1.id = tbl2.id
我想从id
获取tbl1
。我用的时候,
echo $row->id
它确实回显了id
中的tbl2
列。如何从我想要的表格中获取记录?谢谢!
答案 0 :(得分:1)
您需要使用别名,因为在两个表中您具有相同的列名称ID,因此您可以这样使用:
SELECT tbl1.id as id1,tbl2.id as id2
FROM tbl1
INNER JOIN tbl2 ON tbl1.id = tbl2.id
和
echo $row->id1 // for table 1
echo $row->id2 // for table 2
答案 1 :(得分:1)
因为2个表tbl1
和tbl2
都有相同的列id
,MySQL不会将它们分开并返回最后一个表的id
字段。因此,您需要为id
字段添加别名。
SELECT *, tbl1.id as id_tbl1 FROM tbl1 INNER JOIN tbl2 ON tbl1.id = tbl2.id
答案 2 :(得分:1)
试试这个
SELECT tbl1.id as tb1id,tbl2.id as tbl2id FROM tbl1 INNER JOIN tbl2
ON tbl1.id = tbl2.id