2016-03-31 12 views
1

私は、ユーザーのサークルに人の名前を格納するテーブルを持っています。 関連するフィールドは次のとおりです。username & circleMember1つのMysqlクエリを作成する際に助けが必要

個々のユーザーが作成したすべてのリストを格納する別のテーブルがあります。

私のアプリは、アクティブユーザーのユーザー名を提供する要求をサーバーに送信します。

サークルcircleMemberからSELECTするクエリが必要ですWHERE username =?usernameそして次にリストからのSELECT * WHERE username =(最初のクエリの結果)ユーザ名、circleMemberの組み合わせは個々の行に格納され、各ユーザー名の行。

table circle 
- circleId (int) 
- username (varchar) 
- circleMember (varChar) 

table listings 
- listingId (int) 
- username (varchar) 
- image (varchar) 
- title (varchar) 
- price (decimal 15,2) 
- description (varchar) 
- location(varchar) 

私の現在のスクリプトは、データベースからすべてのリストを取得し、カードビューに表示します。私が探しているのは、ユーザーがサークル内のユーザー名からのリストのみを表示するということです。

私はこのサイトの投稿からさまざまな組み合わせの組み合わせを試しましたが、正しく動作するように適切な構文がないようです。これは単一のクエリで行うことができますか、結果を取得するために必要なのか、結果を反復するのが必要なのでしょうか?

+3

お手伝いをしてください。お手伝いをしてください。あなたの体格を大きくしてください、サンプルのデータや、そのサンプルについて得たい結果を投稿してください。 – Mureinik

+0

'circleMember'とは何ですか?ブール値、整数、文字列? –

+0

あなたの研究のキーワード:サブセレクト、JOIN – CBroe

答えて

0

ことになっているものを」いいえ手掛かりはこれはあなたが何を意味するかですか?

SELECT * FROM listings 
JOIN circle ON circle.circleMember = listings.username 
WHERE circle.username = "my_user_name" 
+0

それはそれです!ご助力ありがとうございます。回答が受け入れられました! – SkynetHasYou

0

だから私はあなたが<username>がいくつか引用符で囲まれた文字列に置換され、簡単なJOIN

SELECT * FROM circle 
JOIN listings ON circle.username = listings.username 
WHERE circle.circleId = (SELECT circleId FROM circle WHERE username = <username> limit 1) 

をしたいと思います。

http://dev.mysql.com/doc/refman/5.7/en/join.html

円circleMemberが

+0

私はうまくいけばテーブルの詳細を編集して助けになる! – SkynetHasYou

+0

@SkynetHasYouまだ私には分かりません。この回答が役に立たない場合は削除することができます。 – dan08

+0

あなたのコードはアクティブなユーザが作成したすべてのリストを返しています。アクティブなユーザ "circleMembers"によって作成されたすべてのリストを返すコードです – SkynetHasYou

関連する問題