MySql-指定联接后要使用的表列

MySql-指定联接后要使用的表列,mysql,join,Mysql,Join,我有一个简单的连接: SELECT * FROM table1 S JOIN table2 S2 ON S.PARENT_ID = S2.ID WHERE S.STATUS = 'TEST' 在获取结果并遍历行之后,如何指定要使用的表行?例如,我在两个表中的列名状态相同,但在使用行$row['STATUS']时,它从表S2而不是表S中获取列在select中显式命名列,而不是在select中显式命名列,而不是在select中显式命名列。您可以显式指定列名,并对重复的命名项使用别名,以从结果

我有一个简单的连接:

SELECT * FROM table1 S
JOIN table2 S2
ON S.PARENT_ID = S2.ID
WHERE S.STATUS = 'TEST'   

在获取结果并遍历行之后,如何指定要使用的表行?例如,我在两个表中的列名状态相同,但在使用行
$row['STATUS']
时,它从表S2而不是表S中获取列

在select中显式命名列,而不是在select中显式命名列,而不是在select中显式命名列。您可以显式指定列名,并对重复的命名项使用别名,以从结果集中访问它们:

e、 g


您可以显式指定列名,并对重复命名的列名使用别名从结果集中访问它们:

e、 g


当您
JOIN
时,两个表的结果集在同一行中。您不应该在生产环境中使用
SELECT*
(对于在命令行上运行查询,我认为这很好)。最好明确说明要选择的查询

SELECT S.STATUS, S2.STATUS FROM table1 S JOIN table2 S2 ON (PARENT_ID = S.ID)
WHERE S.STATUS = 'TEST'
如果要区分它们,还可以为列名添加别名

SELECT S.STATUS AS t1_status

然后在php中,
$row['t1_status']
将起作用。

当您
加入时,两个表的结果集位于相同的行中。您不应该在生产环境中使用
SELECT*
(对于在命令行上运行查询,我认为这很好)。最好明确说明要选择的查询

SELECT S.STATUS, S2.STATUS FROM table1 S JOIN table2 S2 ON (PARENT_ID = S.ID)
WHERE S.STATUS = 'TEST'
如果要区分它们,还可以为列名添加别名

SELECT S.STATUS AS t1_status
然后在php中,
$row['t1_status']
将起作用