我想从我的SELECT语句中选择1列,但随后离开其余部分是这样:Mysql的选择1列
SELECT tbl_user.reference AS "reference", * FROM tbl_user JOIN tbl_details ON.....
这可能吗?
我想从我的SELECT语句中选择1列,但随后离开其余部分是这样:Mysql的选择1列
SELECT tbl_user.reference AS "reference", * FROM tbl_user JOIN tbl_details ON.....
这可能吗?
是的。您可以使用双引号来创建列别名。您可以在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语句中指定列列表是最有益的,并且可以帮助查询引擎不必查看每个表上的列列表。
如果你只想一列,这将工作:
SELECT SELECT tbl_user.username AS "username" FROM tbl_user JOIN tbl_details on tbl_user.key LIKE tbl_details.key
什么你的意思做“但随后离开其余部分是”?
我刚刚编辑的问题更真实,更有意义。我需要两个表中的所有列,但两个表都有一个列引用,它具有不同的值,而在我的输出中显示的列是不正确的。我的意思是假休息,因为我不想为所有列写tbl_user.name,tbl_details.id等,因为每个表中有很多列 – puks1978