変数 '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. どのように1つのテーブルが両方のidで同じである別のテーブルを持つテーブルからデータを減算するのですか?
- 2. のみのテーブルから2つのテーブルを使用して、データやショーのデータを選択する方法1
- 3. 内部結合テーブルからデータを引き出して2つの行を1つにマージする
- 4. 2つのテーブルに1つのSQL挿入データを使用する方法?
- 5. 2つのテーブルのデータをフィルタリングして両方のテーブルの結果を取得
- 6. 1つのテーブルで2つのテーブルの列を連結するにはどうすればよいですか?
- 7. 2つのテーブルのデータを1つのカーソルに結合するにはどうすればよいですか?
- 8. 2つのテーブルを結合し、両方のテーブルからデータを取得してフォームフィールドでユーザーに表示するにはどうすればよいですか?
- 9. 複数の引数を持つ2つのテーブルのSELECTデータ
- 10. Eloquent Laravel 5.2で2つのテーブルに参加する - 2つのテーブルの両方からすべてのデータを取り出すには?
- 11. 1つのテーブルが空であれば2つのテーブルからデータを表示
- 12. 2つのテーブルを1つのテーブルと別のテーブルの2つ目のテーブルから照会する方法
- 13. ViewModelを2つのテーブルと2つのテーブルのビューデータに使用する方法
- 14. 2つのテーブルのデータを1つのテーブルに挿入するC#
- 15. 両方のレコードがある2つのテーブルを結合する
- 16. 他のテーブルのデータベースで1つのテーブルのデータを使用する方法
- 17. 1ページに2つのスマートテーブルがあると、ページングによって両方のテーブルが変更される
- 18. 私はPythonの1つの変数に2つのデータ型を使用しようとしていますか?
- 19. どのようにデータが3つのテーブルのうちの2つに存在するという条件で4つのテーブルを結合できますか
- 20. 2つの他のテーブルのデータで1つのmySQLテーブルを更新しようとしていません
- 21. 1つの出力に2つのテーブルをマージする
- 22. どのように私は1つのフォームを使用して2つの異なるテーブルにデータを挿入するのですか?
- 23. 2つのFKを1つのテーブルに結合するテーブル
- 24. 1つのJOINともう1つのLEFT JOINを使用して2つのテーブルに結合する
- 25. どのように別のテーブルの2つの変数からテーブルを更新しますか?
- 26. どのように2つのテーブル
- 27. MYSQLはJOINを使用して1つのテーブルから2つの列を引きます
- 28. どのように1つの選択を2つの異なるテーブルに挿入するのですか?
- 29. テーブルを操作する場合、1つのクラスに対して2つのセレクタを使用できますか?
- 30. どのように私は2つのテーブル持っている二つのテーブル