2

以下のクエリの結果を取得するのに問題があります:

SELECT setting_value FROM system_settings WHERE setting_key='hold_series' INTO @Current;

ここで、「setting_value」はテキストデータ型であり、次の値を持ちます。

50472949,15804527,13613881,13607299,16226328,15774405,14416070.

SELECT * from users where Id in (@Current) [and some left joins];

結果として得られたレコードは1つだけで、usersテーブルにすべてのレコードがあると確信しています。

使用する場合

SELECT * from users where Id in (50472949,15804527,13613881,13607299,16226328,15774405,14416070)

左結合を使用すると、7行すべてになります。:(

私が間違っていることを教えてください...

ありがとう、-Jyo

4

1 に答える 1

0

FIND_IN_SETを使用してみてください

SELECT * from users where (FIND_IN_SET(id,@Current)>0)
于 2012-12-05T19:38:48.810 に答える