0

次のようなテーブル myTable があるとします。

ID1   Value    ID2
1     6.5064   3
2     7.9000   3
3     9.9390   3
4     8.6585   3

私がやろうとしているのは、特定の ID2 に対してこれらの値のそれぞれを選択することです。ただし、Value に返される行数は変更される可能性があります。したがって、ID2 = 2 の場合、1 行のみが返される可能性があります。drID = 4 の場合、3 行が返される可能性があります。これを処理しようとしているクエリの部分がネストされているため、実行すると「サブクエリが複数の行を返します」というエラーが発生します。この方法で可変数の行を選択する方法はありますか?

前もって感謝します!

編集:これが私がこれまでに持っているもので、コメントアウトされた部分は私がそれらの値を選択することを期待していたものですが、上記のエラーがスローされます:

SELECT drDateTime AS Date,
(SELECT fncName FROM functionlist 
WHERE datarecord.fncID = functionlist.fncID) AS FunctionName,

(SELECT alText FROM alarmlevellist
WHERE datarecord.alID = alarmlevellist.alID) AS AlarmDescription

#(SELECT rdValue FROM rawdata
#WHERE datarecord.drID = rawdata.drID)

FROM datarecord
WHERE alID IS NOT NULL AND drSumFlag = 1;
4

2 に答える 2

0

クエリを表示する必要があります。

この問題が発生する一般的な場所の 1 つは、where(またはhaving) 句です。この問題の解決策は、サブクエリが節にある場合、inではなくを使用することです。次のようなものがある場合:=where

where id = (select id2 . . .)

次に、次のように変更します。

where id in (select id2 . . .)
于 2013-04-29T21:13:56.417 に答える