0

「オペランドには 1 列を含める必要があります」というエラーが表示されます。

はい、1列と3列を比較しようとしていますので、達成したいことは可能ですか?

明確な例: テーブル テストがあります

 id   profile_id  result_number
 10     1232        3
 10     3263        5
 10     2222        4
 10     2321        1 

実際には、3 つのクエリがあり、すべてを 1 つのクエリで取得したいと考えています。まず、profile_id 2222 の結果番号を取得します (4 を返します)。

 SELECT `result_number` FROM test WHERE id=10 AND `profile_id`=2222

次に、result_number - 1 を持つ profile_id を取得します。

SELECT `profile_id` FROM test
 WHERE id=10 AND `result_number` = 4 - 1

(リターン 3)

最後に、result_number + 1 を持つ profile_id を取得します。

SELECT `profile_id` FROM test WHERE id=10 AND `result_number` = 4 + 1 

(5 を返す)

期待される結果:

profile_id
    3263
    2222
    1232

それを達成することは可能ですか?

4

3 に答える 3