我正在尝试将 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
有没有人有任何想法?提前致谢!