我想使用 SQL 语句将两列合并为一列并用"/"分隔
目前,我只能这样做。
Select A.Marks, Q.NoOfAnsBox FROM AnswerTable AS A INNER JOIN QuestionTable AS
Q WHERE A.QuestionID = Q.QuestionID
使用输出:
Marks NoOfAnsBox
3 5
2 5
我可以知道是否可以将其输出为一列,如下所示?
Marks
3/5
2/5
我尝试将整数转换为字符串并执行串联,但未能获得所需的结果
Select (CONVERT(A.Marks, Char(50)) + '/' + Convert(Q.NoOfAnsBox,Char(50))) As
Marks FROM AnswerTable AS A INNER JOIN QuestionTable AS Q WHERE A.QuestionID =
Q.QuestionID
Marks
8
7
在Mysql中使用CONCAT()
函数连接字符串,因为+
在这里的行为与其他RDBMS不同:
Select CONCAT(A.Marks, '/', Q.NoOfAnsBox) As Marks
FROM AnswerTable AS A
INNER JOIN QuestionTable AS Q ON A.QuestionID = Q.QuestionID
还可以考虑将"WHERE"更改为"ON"。在您的情况下,它们是同义词,但是如果您将INNER
联接换成LEFT OUTER
联接并忘记使用WHERE
子句,事情可能会变得丑陋。
Select CONCAT(A.Marks, '/', Q.NoOfAnsBox) AS Marks FROM AnswerTable AS A INNER JOIN QuestionTable AS
Q WHERE A.QuestionID = Q.QuestionID
按如下方式使用 Concat()
函数
Select CONCAT(A.Marks, '/', Q.NoOfAnsBox) AS Marks
FROM AnswerTable AS A INNER JOIN QuestionTable AS Q
WHERE A.QuestionID = Q.QuestionID