2

UserId=1テーブル A whereとテーブル B whereから行を選択したいUserName=xxx

A と B の行が同じ場合、グループを使用できます。

表 A

Session    UserId
-----------------
1           1
2           2

表 B

Session    Username
-------------------
1           xxx
11          xxx
12          xxx

ユーザーテーブル

UserId    Username
------------------
1         xxx

where userid = 1ここで、テーブル a とテーブル b から行を取得したいと考えていますwhere username = xxx。a と b のセッションが同じ場合、グループ化できます。

Session
==========
1
11
12
4

4 に答える 4

2

これを試してください。構文エラーがあれば申し訳ありません。

SELECT A.UserId, B.Username FROM A LEFT JOIN B ON A.Session= B.Session GROUP BY A.Session;

テーブル A と B の両方からセッションに一致するすべてのレコードを取得します。

ここで、追加の条件を既存のクエリに含めます。このようなもの...

SELECT A.UserId, B.Username FROM A LEFT JOIN B ON A.Session= B.Session 
WHERE A.UserId = 1 AND B.Username = 'xxx' GROUP BY A.Session;

それがあなたを助けることを願っています。ありがとう。!!

于 2012-12-15T09:18:45.557 に答える
2

ここで、ユーザー ID = 1 のテーブル a と、ユーザー名 = xxx のテーブル b から行を取得したいと考えています。a と b のセッションが同じ場合、グループ化できます。

union2 つのテーブルからフィルター処理された値の を求めているようにsession思えますが、個別のセットが必要なため、 (は実際にunionは よりもはるかに一般的な要件です)ではなく、union allunion allunion

select session from table_a where userid = 1
union
select session from table_b where username = xxx
于 2012-12-15T09:45:38.233 に答える
1

以下はTSqlSQL Server の場合です。についても学んでみてくださいtable JOIN。ここにいくつかの良い例があります

SELECT A.Session, A.UserId
FROM A JOIN B ON A.Session = B.Session --Joining A and B using Session here
WHERE A.UserId = 1 AND B.Username = 'xxx'
于 2012-12-15T09:16:52.417 に答える
-1

Mysql にはこれを行う方法があります。これをチェックしてください


最善を尽くします:

SELECT `table1`.`column`, `table2`.`column` FROM `table1`, `table2` WHERE conditon
于 2012-12-15T09:06:46.693 に答える