変数 'userid'があり、aspnet_Membershipテーブルとaspnet_AccountProfileテーブルから選択したいとします。彼らはどちらもカラムのユーザIDを持っています、私はちょうどSELECT * FROM aspnet_AccountProfile、aspnet_Membership WHERE UserId = @ UserIdのようなステートメントを作ることができるようにしたい、そしてBOTHテーブルの一致するユーザIDを持つレコードを取得します。どうすればいいですか?ありがとうございました!両方のテーブルにある1つの変数を使用して、2つのテーブルのデータをどのように引き出すのですか?
答えて
JOIN
と呼ばれている:
正確に何をしたいデータに基づいて参加するにはいくつかの基本的な種類があります。これらは集合理論/関係代数に関連している。私は、最も一般的なものをリストアップします:
INNERあなたは、両方のテーブルが一致するユーザーIDを持つ行のすべての組み合わせを返したい場合に使用します
を登録しよう。一部の行がの場合、テーブルが内部結合で返されないことがあります。追加もちろん
SELECT * FROM aspnet_AccountProfile, aspnet_Membership
WHERE aspnet_AccountProfile.UserId = aspnet_membership.UserId
、あなたが望む特定のユーザーIDを選択するために、:
SELECT * FROM aspnet_AccountProfile INNER JOIN aspnet_Membership
ON aspnet_AccountProfile.UserId = aspnet_Membership.UserId
、JOIN INNERを書くのもう一つの方法は、(私はあなたが理解したい場合は加入奨励しないであろう)であります上の条件表:
とaspnet_AccountProfileのいずれかです。ユーザーID = @UserId
OR
とaspnet_Membership.UserId = @UserId
これら二つのどちらかが内部結合のために正常に動作します。あなたは、クエリの最初のテーブル、および第二の表のユーザーIDは、最初に一致するすべての組み合わせからすべて行を返したいとき
LEFT OUTERは
使用これを登録しよう。 2番目のテーブル(この例ではMembership)の一部の行が返されないことがあります。
SELECT * FROM aspnet_AccountProfile LEFT JOIN aspnet_Membership
ON aspnet_AccountProfile.UserId = aspnet_Membership.UserId
あなたは、このケースでは、あなたの基準を絞り込む左の列を使用する必要があり、または、JOINは自動的にINNERに変換されます。
aspnet_AccountProfile.UserId = @UserId
RIGHT OUTERはLEFT外部結合として、それは通常、書き込むことができますので、これは、かなり珍しいです
を登録しよう。これは左外部結合のようなものですが、リレーション内の2番目のテーブルのすべての行が、最初のテーブルの代わりに返されます。
SELECT * FROM aspnet_AccountProfile RIGHT JOIN aspnet_Membership
ON aspnet_AccountProfile.UserId = aspnet_Membership.UserId
FULL OUTERあなたは会員で対応する行にAccountProfileで一致するユーザーIDを持つすべての行を関連付ける必要があるが、また、いずれか内のどの行を知っておく必要がある場合は、この
使用を登録しよう他のテーブルには一致しません。唯一のシングルユーザー用
SELECT * FROM aspnet_AccountProfile FULL OUTER JOIN aspnet_Membership
ON aspnet_AccountProfile.UserId = aspnet_Membership.UserId
の取得結果は、FULL OUTER JOINをして少しトリッキーです。いずれの表でも、NULLまたは正しい値が大丈夫であることを指定する必要があります。
こんにちは、
はあなたが
を使用することによってそれを行うことができます「SELECT * aspnet_AccountProfile APから、aspnet_MembershipメートルWHERE ap.UserId = m.UserId ANB ap.UserId = @ UserId "
内部結合によってこれを行うことができます。ここで
は一例であり、Select aspnet_Membership.*, aspnet_AccountProfile.* from aspnet_AccountProfile
inner join aspnet_Membership on aspnet_Membership.userid = aspnet_AccountProfile.userid
where [email protected]
これは、ユーザーIDは、両方のテーブルに共通であるwhemレコードのみを取得します。あなたは1つのテーブルにあるレコードを取得したいとか、他ではあってもなくてもよい場合
あなたはユーザー左は、あなたが参加し使用することができます
Select aspnet_Membership.*, aspnet_AccountProfile.* from aspnet_AccountProfile
left join aspnet_Membership on aspnet_Membership.userid = aspnet_AccountProfile.userid
where [email protected]
である加入しなければなりません。以下のような
何か:あなたはシンプルなインナーを使用することができます
Select * from aspnet_AccountProfile INNER JOIN aspnet_Membership
ON aspnet_AccountProfile.UserId = aspnet_Membership.UserId
Where aspnet_AccountProfile.UserId = @UserId
おかげで、
Vamyip
は、このために参加します。
- 1. のみのテーブルから2つのテーブルを使用して、データやショーのデータを選択する方法1
- 2. 2つのテーブルのデータを1つのカーソルに結合するにはどうすればよいですか?
- 3. 他のテーブルのデータベースで1つのテーブルのデータを使用する方法
- 4. 2つの他のテーブルのデータで1つのmySQLテーブルを更新しようとしていません
- 5. 両方のレコードがある2つのテーブルを結合する
- 6. どのようにデータが3つのテーブルのうちの2つに存在するという条件で4つのテーブルを結合できますか
- 7. MYSQLはJOINを使用して1つのテーブルから2つの列を引きます
- 8. どのように2つのテーブル
- 9. テーブルを操作する場合、1つのクラスに対して2つのセレクタを使用できますか?
- 10. どのように私は2つのテーブル持っている二つのテーブル
- 11. 1つのデータベースに2つのテーブルを作成する方法
- 12. 複数のテーブルを1つのテーブルに入れよう
- 13. LINQを使用して1つのクエリで2つのテーブルに挿入
- 14. Rails:2つのテーブルから1つのテーブルにhas_many関係を作成しようとしています
- 15. 複数のテーブルを1つのテーブルに結合するにはどうしたらよいですか?
- 16. 両方のテーブルのデータを返す2つのテーブル間の結合を行う方法
- 17. 2つのテーブルから情報を引き出す
- 18. 2つのテーブルを結合する3つのテーブルのみを使用してデータを選択する
- 19. 2つの列の合計を合計して1つのテーブルに同じように追加する方法
- 20. 一致するテーブルのデータを使用して、別のテーブルのID一致に基づいて1つのテーブルに列データを設定する方法
- 21. 複数のテーブルのデータを1つのビューモデルに結合する
- 22. は、どのように私は2つのテーブルを持つテーブルのPostgreSQL
- 23. SQL Joinを使用して2つのテーブルのデータを表示
- 24. 2つ以上のMicrosoft Accessテーブルを1つのテーブルに結合する方法はありますか?
- 25. 1つのデータベースに2つのテーブルをマージするにはどうすればよいですか?
- 26. DB2データベースの2つのテーブルからデータを抽出してテンポラリテーブルにロードする
- 27. 3つのテーブルは、ケース内にデータが1つのテーブルに
- 28. 1つのDataContextから別のメソッドで使用するデータを引き出す
- 29. 2テーブルのデータを合計して1つのテーブルに結合したままにするにはどうすればよいですか?
- 30. MySql - 3つのテーブルのデータを1つのテーブルに結合する