请问如何让这些代码行无错误运行

Posted

技术标签:

【中文标题】请问如何让这些代码行无错误运行【英文标题】:Please how do I get these lines of codes to run error free 【发布时间】:2018-09-19 10:01:36 【问题描述】:

在 SQL 上运行这行代码时,我不断收到此错误 " The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator"。 --考虑到他们最近的条目,我希望获得姓名、文本和 Last_authors。

Select PR1.Name, PR1.TText, PR1.Author as Last_Author 
From PageRevision as PR1, PageRevision as PR2 
Group by Pr1.Name, PR1.TText 
Having PR1.DDate = max(PR2.DDate);

【问题讨论】:

你将casttext field变成varchar比较 你真的不应该使用 text/ntext 数据类型。如果您可以更改它们,请执行此操作。此外,从查询的外观来看,您正在尝试获取每个名称/ttext 组合的最后一位作者(按 ddate) - 您应该为此使用 ROW_NUMBER() 窗口函数(按名称分区,ttext 顺序按 ddate desc) 而不是分组。 mysql != sql-server 【参考方案1】:

看来最简单的方法就是这样做。

Select PR1.Name, PR1.TText, PR1.Author as Last_Author 
From PageRevision as PR1
inner join (
Select name, ttext,author
        ,max(ddate) ddate
        From Pagerevision
        group by name, ttext,author
        ) pr2
on pr1.name = pr2.name
and pr1.ttext = pr2.ttext
and pr1.author = pr2.author
and pr1.ddate = pr2.ddate

【讨论】:

谢谢。但这将只返回一个具有最大 ddate 的元组。我想查看更新的元组,但在没有显示旧元组的情况下。 对不起,有时会很快:)

以上是关于请问如何让这些代码行无错误运行的主要内容,如果未能解决你的问题,请参考以下文章

请问如何写一个C++的密码登陆代码,如果密码错误超过三次就自动退出,正确就运行接下来的程序...谢谢

请问运行代码无效字符啥原因?

即使发生错误,如何让代码继续运行

java中请问如何等待一个线程结束在运行其他的代码?

请问如何让html页隔10秒钟自动刷页???

别人发的vs2019的代码文件,我用vs2013打开就会报这个错,请问是怎么回事呀?