zoukankan      html  css  js  c++  java
  • SQL 出错记录

    1 "count aggregate 运算不能以uniqueidentifier 数据类型作为参数"

    出错语句:

    COUNT(Answer_1.aListenId)

    解决方法:

    COUNT(cast(Answer_1.aListenId as varchar(40)))

    将uniqueidentifier类型的数据通过cast函数转换为varchar类型

    2 "无法解决   equal   to   操作的排序规则冲突"

    出错语句:

    CREATE PROCEDURE [dbo].[AnswerShow]
        
    @lId uniqueidentifier
    AS
        
    /* SET NOCOUNT ON */
        
    SELECT aUserId,aTime,aId,aTitle,aAnswer,
        (
    SELECT uAnswerCount     FROM [User]
            
    WHERE (uId=Answer.aUserId))
             
    AS aUserAnswerCount
        
    FROM Answer LEFT JOIN [User] On Answer.aUserId=[User].uId
        
    WHERE aListenId=@lId
        
    ORDER BY aTime ASC
        
    RETURN
    GO

    解决方法:

    CREATE PROCEDURE [dbo].[AnswerShow]
        
    @lId uniqueidentifier
    AS
        
    /* SET NOCOUNT ON */
        
    SELECT aUserId,aTime,aId,aTitle,aAnswer,
        (
    SELECT uAnswerCount     FROM [User]
            
    WHERE (uId=Answer.aUserId
             COLLATE Chinese_PRC_CS_AS))
             
    AS aUserAnswerCount
        
    FROM Answer LEFT JOIN [User] On Answer.aUserId=[User].uId
                 COLLATE Chinese_PRC_CS_AS
        
    WHERE aListenId=@lId
        
    ORDER BY aTime ASC
        
    RETURN
    GO

    出错的原因是指定了User表中排序规则Chinese_PRC_CS_AS,在使用WHERE语句以及连接表的时候需要再次置顶排序规则.

  • 相关阅读:
    Kotlin 学习 (一)
    Spring Boot 学习(一)
    三大特性之继承
    OC中的点语法
    getter和setter
    三大特性之封装
    匿名对象
    对象作为返回值
    对象作为参数的连续传递
    对象作为参数传递
  • 原文地址:https://www.cnblogs.com/bluecoffee/p/1349263.html
Copyright © 2011-2022 走看看