2011-12-05 56 views
0

我想从我的SELECT语句中选择1列,但随后离开其余部分是这样:Mysql的选择1列

SELECT tbl_user.reference AS "reference", * FROM tbl_user JOIN tbl_details ON..... 

这可能吗?

回答

2

是的。您可以使用双引号来创建列别名。您可以在SELECT列表中选择一列两次(或更多)。

尝试这样的事情,在这里你可以给每一个“参考”列其自己的别名:

SELECT u.reference AS UserReference, 
     d.reference as DetailsReference, 
     u.id, /*etc etc*/ 
FROM tbl_user AS U 
JOIN tblDetails AS D ON ....   

你提到在你想从每个表中的所有列的意见,同时能够在区分参考列(可能在两个表中都被命名为相同)。建议NOT using SELECT *,因为它是一种反模式。在SELECT语句中指定列列表是最有益的,并且可以帮助查询引擎不必查看每个表上的列列表。

0

如果你只想一列,这将工作:

SELECT SELECT tbl_user.username AS "username" FROM tbl_user JOIN tbl_details on tbl_user.key LIKE tbl_details.key 

什么你的意思做“但随后离开其余部分是”?

+0

我刚刚编辑的问题更真实,更有意义。我需要两个表中的所有列,但两个表都有一个列引用,它具有不同的值,而在我的输出中显示的列是不正确的。我的意思是假休息,因为我不想为所有列写tbl_user.name,tbl_details.id等,因为每个表中有很多列 – puks1978