SELECT A.CUSTNAME|| WHO IS HOLDING ||A.ACCNAME|| ACCOUNT ||T.TRATYPE|| THE AMOUNT ||T.AMT||
ON || T.t_DATE
FROM ACCOUNTHOLDER A,TRANSACTION T
ON(T.ACCNO=A.ACCNO)
WHERE CUSTNAME='JAMES BOND'
/
我有两个表帐户持有人和交易表,其中accno很常见。 accountholder accno是主键,其他是外键。我需要句子形式的输出......
答案 0 :(得分:1)
你可能正在寻找CONCAT() function,你的句子的自定义部分必须用单引号括起来,并在开头和结尾都有所需的空格:
SELECT CONCAT (
A.CUSTNAME,
' WHO IS HOLDING ',
A.ACCNAME,
' ACCOUNT ',
T.TRATYPE,
' THE AMOUNT ',
T.AMT,
' ON ',
T.t_DATE
)
FROM ACCOUNTHOLDER A
INNER JOIN TRANSACTION T ON T.ACCNO = A.ACCNO
WHERE CUSTNAME = 'JAMES BOND'
你的JOIN也不正确你要么使用显式方式并添加INNER JOIN和ON,要么用逗号分隔你的表并将条件放在WHERE子句中。
答案 1 :(得分:0)
您需要使用正确的join
语法。除on
子句外,还需要join
语句。另外,看起来像字符串常量应该是单引号。并且,在MySQL中连接字符串的正确方法是使用concat()
函数,而不是垂直条:
SELECT concat(A.CUSTNAME, ' WHO IS HOLDING ', A.ACCNAME, ' ACCOUNT ',
T.TRATYPE, ' THE AMOUNT ', T.AMT, ' ON ', T.t_DATE)
FROM ACCOUNTHOLDER A join
TRANSACTION T
ON T.ACCNO=A.ACCNO
WHERE CUSTNAME = 'JAMES BOND';