0

この SQL クエリ:

String query = 
    "select userclient.username from twitter_content.userclient " +
    "where userclient.userid = " + 
    "(select follower.followerid from twitter_content.follower where " +
    "follower.followerid = userclient.userid and follower.userid = " +
    userID +
    ")";

これをコンソールに表示します:

userclient.userid = の twitter_content.userclient から userclient.username を選択します。

このクエリは、MySQL スクリプトで直接実行すると機能しますが、Eclipse で実行されている Java プログラムを介して実行すると機能しません。Eclipse で実行すると、次の例外が発生します。

 java.sql.SQLException: Column 'followerid' not found.

列が含まれるテーブル Follower が既にありますfollowerid。これを解決するにはどうすればよいですか?

編集:
UserClient テーブルには、userid と username の 2 つの列があります。
フォロワー テーブルには、rowno、userid、followerid の 3 つの列があります。

4

3 に答える 3

1
select userclient.username 
from twitter_content.userclient as userclient 
where userclient.userid =
(select follower.followerid 
from twitter_content.follower as follower 
where follower.followerid = userclient.userid and follower.userid = 562570958)

これは機能しますか?

于 2012-11-16T04:39:13.537 に答える
0

そのクエリを印刷してコピーします。次に、そのクエリをmysqlで実行してみます。

正常に機能している場合は、データベースへの接続を確認します。'followerid'の'Follower'テーブルがない古いデータベースに接続している可能性があります

于 2012-11-16T04:39:22.780 に答える
-2

コンマの代わりにドットを入れたように見えます

select userclient.username from twitter_content.userclient where userclient.userid = (select follower.followerid from twitter_content,follower where follower.followerid = userclient.userid and follower.userid = 562570958)

サブクエリの from 句に twitter_content がある理由もわかりません

于 2012-11-16T03:44:53.060 に答える