0

データテーブルからレコードを取得する際に少し問題が発生しています。誰か提案をいただけますか?

Id LearnerId ConnectionId  IsApproved   
3   1            38       1
5   39           1        1 
7   1            31       1 
13  1            30       1 
31  1            40       1 
34  41           1        1 
35  31           1        1 
39  1            42       1 

これが私のテーブルの様子です。このテーブルでselectクエリを使用して、次のようなレコードを選択したいと思います。

AllId
38
39
31
30
40
41
31
42

上記のレコードリストを見つけるためにクエリを作成するにはどうすればよいですか?1以外のIDをすべて集めたい。

4

5 に答える 5

3

UNION ALL2 つのクエリの間で使用できます。1connectionidつ目は値を返し、2 つ目はlearnerid値を返します。

select ConnectionId as AllId
from LearnerConnections
where LearnerId = 1
union all
select LearnerId as AllId
from LearnerConnections
where ConnectionId = 1

デモで SQL Fiddle を参照してください

于 2013-02-05T11:10:24.577 に答える
2
SELECT CASE LearnerId
            WHEN 1 THEN ConnectionId
            ELSE LearnerId
       END AS AllId
FROM tablename
于 2013-02-05T11:10:33.670 に答える
1
select  Id
from    YourTable
union all
select  LearnerId
from    YourTable
union all
select  ConnectionId
from    YourTable
于 2013-02-05T11:09:41.097 に答える
0
SELECT LearnerId AS AllId FROM tableName
WHERE ConnectionId = 1
UNION
SELECT ConnectionId AS AllId FROM tableName
WHERE LearnerId = 1
于 2013-02-05T11:46:40.020 に答える
0
SELECT  Id AS AllId
FROM    YourTable
union all
SELECT  LearnerId AS AllId
FROM        YourTable
union all
SELECT  ConnectionId AS AllId
FROM        YourTable
于 2013-02-05T11:10:52.840 に答える