【发布时间】:2016-07-29 06:18:54
【问题描述】:
我正在尝试将 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 ;
我试过的 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 ;
我得到的错误是:
Argument data type int is invalid for argument 1 of charindex function.
供参考。 http://sqlfiddle.com/#!3/4ed19/3
有人有什么想法吗? 提前致谢!
【问题讨论】:
标签: php mysql sql sql-server