0
SELECT user_profile_data.*
FROM relation_table,user_profile_data
WHERE user_profile_data.ref_user_id=relation_table.user2
and relation_table.type = 1
AND relation_table.user1 = 184
ORDER BY user_profile_data.full_name ASC

ここに示す結果テーブルを生成するこのクエリがあります:- http://sqlfiddle.com/#!2/340f0/1

FULL_NAME   LOCATION    REF_USER_ID
Fake        IN          181
Fake gupta  IN          185
Fake kumar  IN          182
Fake sharma IN          183
Fakeme  IN              180
Manish Kumawat US       192

今、私は私のクエリを変更して、次のように id=182 を持つ「Fake Kumar」の後の結果を取得したいと考えています:-

FULL_NAME   LOCATION    REF_USER_ID

Fake sharma IN          183
Fakeme  IN              180
Manish Kumawat US       192

セキュリティ上の問題があるため使用できません。使用user_profile_data.full_name>'Fake Kumar'できるのは id ですが、使用すると次user_profile_data.ref_user_id>182のような結果が得られます:-

FULL_NAME   LOCATION    REF_USER_ID

Fake gupta  IN          185

Fake sharma IN          183

Manish Kumawat US       192

目的の結果を得るにはどのクエリを使用すればよいですか

4

2 に答える 2

1
SELECT   user_profile_data.*
FROM     relation_table
    JOIN user_profile_data
      ON user_profile_data.ref_user_id = relation_table.user2
WHERE    relation_table.type  = 1
     AND relation_table.user1 = 184
     AND user_profile_data.full_name > (
       SELECT full_name
       FROM   user_profile_data
       WHERE  REF_USER_ID = 182
     )
ORDER BY user_profile_data.full_name

sqlfiddleで参照してください。

于 2012-12-02T16:14:53.827 に答える
0

以下のように使用LIMITします。

      SELECT user_profile_data.*
      FROM relation_table,user_profile_data
      WHERE user_profile_data.ref_user_id=relation_table.user2
            and relation_table.type = 1 
            AND relation_table.user1 = 184
      ORDER BY user_profile_data.full_name ASC
      LIMIT 3,3
于 2012-12-02T16:11:17.873 に答える