![](/img/trans.png)
[英]MySQL SELECT query with alias not working in MySQL 5.7.28
[英]mysql select alias not working
我在执行select语句时遇到麻烦,当运行title_two和author_two时,下一个标题值未正确填充。 相反,它们的打印内容与b.title和b.author相同。 我试过将它们声明为
`B.title AS title_two`.
SELECT R.bookone, B.title, B.author,
R.booktwo, B.title title_two, B.author author_two,
R.relation, R.relationlike, R.relationdislike
FROM relationships R
INNER JOIN books B ON R.bookone = B.bookid;
有两个桌子
具有以下关系-Relationshipid,bookone,booktwo,relation,relationlike,relationdislike
然后是书号,书名,作者,出版商的书
bookone和booktwo是引用bookid的外键,我试图达到的目的是拥有它,因此当用户单击链接时,它将显示该书与其他书的每种关系
使用别名时使用引号
SELECT R.bookone, B.title, B.author,
R.booktwo, B.title as 'title_two', B.author as 'author_two',
R.relation, R.relationlike, R.relationdislike
FROM relationships R
INNER JOIN books B ON R.bookone = B.bookid;
正确的格式是: ColName
作为NewColName
SELECT R.bookone as `BookOne`
, ...
FROM relationships R
INNER JOIN books B ON R.bookone = B.bookid;
或简单地(不带AS)
SELECT R.bookone `BookOne`
, ...
FROM relationships R
INNER JOIN books B ON R.bookone = B.bookid;
您需要再参加一本书。 就像是:
SELECT R.bookone, B1.title, B1.author,
R.booktwo, B2.title title_two, B2.author author_two,
R.relation, R.relationlike, R.relationdislike
FROM relationships R
INNER JOIN books B1 ON R.bookone = B1.bookid
INNER JOIN books B2 ON R.booktwo = B2.bookid
他们正在做应该做的事情。 author_two应与B.author相同,title_two应与B.title相同。 它们只是别名。
同样,从单个表中两次请求同一列将不会获得表中的下一个结果-它只会返回同一列两次。
如果您的查询中无法使用别名,请检查是否包含
useOldAliasMetadataBehavior = true
在JDBC连接字符串中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.