0

ID を検索して、テーブルからすべての行を ID で取得しようとしています (ID は自動インクリメントされます)。

私はこのようなことを試みています:

SELECT * 
FROM table 
WHERE something = 'yes' AND (csvstring)

csvstring は次のようなものです: 4, 53, 34, 23

問題は、あなたにはそれができないと思うことです。これをグーグルで検索していたので、「WHERE id IN (csvstring)」を試しましたが、うまくいきませんでした

どんな助けでも大歓迎です!

4

2 に答える 2

1
SELECT *
FROM table
WHERE something='yes' AND id IN (4,53,34,23)

それはうまくいきませんか?編集:テストしたところ、動作します。

于 2012-08-24T00:08:41.107 に答える
0

その理由は、クエリが特定の ID としてではなく文字列全体としてid IN (csvstring)解析されるためです。csvstringあなたはこのようにしたい:id IN (4, 53, 34, 23)しかし、クエリはそれを次のように見るid IN ('4, 53, 34, 23')

多分FIND_IN_SETがあなたのために働くでしょう。

これで色々試して、

SELECT... FROM... WHERE something='yes' AND id IN (4,53,34,23)
于 2012-08-24T00:10:22.383 に答える