小编Chi*_*nnu的帖子

SQL 参数数据类型 int 对于 charindex 函数的参数 1 无效

我正在尝试将 MySQL 查询转换为 MsSql 查询,但遇到了问题。这是我的查询:

MySQL

SELECT *,
(SELECT count(books.id)
   FROM books
   WHERE books.status = 1
     AND FIND_IN_SET(categories.id, books.multiple_category_id)) AS book_count
   FROM categories, books
   WHERE categories.parent_id=0
     AND categories.status=1 ;
Run Code Online (Sandbox Code Playgroud)

我试过的 SQL

SELECT *,
  (SELECT count(books.id)
   FROM books
   WHERE books.status = 1
     AND CHARINDEX(categories.id, books.multiple_category_id) > 0) AS book_count
   FROM categories, books
   WHERE categories.parent_id=0
     AND categories.status=1 ;
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

Argument data type int is invalid for argument 1 of charindex function.
Run Code Online (Sandbox Code Playgroud)

以供参考。 http://sqlfiddle.com/#!3/4ed19/3

有没有人有任何想法?提前致谢!

php mysql sql sql-server

5
推荐指数
1
解决办法
6116
查看次数

标签 统计

mysql ×1

php ×1

sql ×1

sql-server ×1