0

SOにはたくさんの例があると確信していますが、データベースの操作に関しては非常に限られているため、何を検索すればよいかさえわかりません。ヘルプ。

ユーザーとプロファイルの 2 つのテーブルがあります。1 つの電子メールに複数のプロファイルが存在する可能性があり、ユーザー テーブルに複数のプロファイルが存在する可能性があります。

電子メールが一致する Profile テーブル (たとえば、「test@test.com」) からすべての profileID を選択するクエリを作成する必要があります。これは一連のプロファイル (1、23、444、9203、034) を返すはずですが、ユーザー テーブルにあるプロファイル ID (およびユーザー名) のみを返したい (たとえば、プロファイル ID 444 のみがユーザー テーブルにあります。

プロファイル テーブルの例:

プロファイル ID | プライマリ電子メール | 名前 | その他のもの |

ユーザー表:

プロファイル ID | ユーザー名 | パスワード | 他のUserStuff|

これはおそらく非常に単純ですが、調査にはかなりの時間がかかり、時間に追われています。

何かのようなもの(?):

    SELECT t1.profileID, t2.username 
    FROM Profiles as t1 INNER JOIN Users as t2 ON t1.profileID = t2.profileID 
    WHERE t1.primaryEmail="test@test.com"

私はフロントエンド開発者で、思っていたよりも多くのバックエンド作業を伴うタスクを引き受けました..そして、すでに期日を数日過ぎています..

4

3 に答える 3

1

mysql のドキュメンテーション サイトのsql ドキュメンテーションは、探しているクエリを作成するのに役立ちますが、実際の結合の例は次のようになります。

SELECT column1 FROM table1 tableAlias
INNER JOIN table2 table2Alias ON tableAlias.column = table2Alias.column
WHERE tableAlias.column = this AND table2Alias.column = that

注: 使用できる結合の種類は複数あるため、少し時間を取ってドキュメントを読み、問題の解決に最適な結合を判断してください。

于 2013-11-08T05:08:51.527 に答える
1

このクエリを書くことができます。

SELECT Profile.ProfileID, User.username from Profile INNER JOIN User ON Profile.ProfileID = User.ProfileID WHERE Profile.primaryEmail = "test@test.com"

それを試してみてください。

ありがとう。

于 2013-11-08T05:29:37.223 に答える
0
SELECT ProfileID, Username
  FROM Profile
  JOIN Users USING (ProfileID)
 WHERE primaryEmail = "test@test.com"

同じを持つ両方のテーブルに存在するデータが表示されますprofileID

于 2013-11-08T06:06:39.473 に答える