我的sql表达式有问题吗



我使用Crystal Report v8.5来显示仍有余额的客户端列表。

下面是我写的的SQL表达式

SELECT
    "c"."firstname","c"."lastname"
    "transaction"."record", "transaction"."balsheet"
FROM
    "dbproj"."dbo"."c" "c"
    "dbproj"."dbo"."transaction" "transaction"
INNER JOIN
    "dbproj"."dbo"."c" "c" ON "c"."clientid"="transaction"."clientid"
WHERE
    ("transaction"."tstatus"='UNPAID')
ORDER BY
    "c"."lastname"

我是CrystalReports的新手,所以我对如何将SQL语句转换为SQL表达式进行了彻底的研究,这就是我所得到的。但是,当我把它放在SQL表达式上时,消息框指示所使用的表达式有错误。

我还有什么需要改进的吗?或者我把这个查询放在SQL表达式字段上是个糟糕的主意?我在youtube频道上看到了一个演示,所以我(不知何故)相信我所做的是正确的,但如果是这样,我为什么会收到这个错误消息?

我很想看看youtube视频,它给了你这个语法,因为它是错误的——要么你转录错误,要么发布者应该取消他们的SQL许可证。

SELECT c.firstname, c.lastname, t.record, t.balsheet
------ missing comma here ----^
FROM 
----- extra reference to the table "c" removed here
dbproj.dbo.[transaction] AS t -- used an alias here too, just like c below
INNER JOIN dbproj.dbo.c AS c
ON c.clientid = t.clientid
WHERE t.tstatus = 'UNPAID'
ORDER BY c.lastname;

您的FROM子句应该只是:

FROM
"dbproj"."dbo"."transaction" "transaction"

完整查询:

SELECT
"c"."firstname","c"."lastname",
"transaction"."record", "transaction"."balsheet"
FROM
"dbproj"."dbo"."transaction" "transaction"
INNER JOIN
"dbproj"."dbo"."c" "c" ON
"c"."clientid"="transaction"."clientid"
WHERE
("transaction"."tstatus"='UNPAID')
ORDER BY
"c"."lastname"

最新更新