0

I am trying to create a query in which 1st query will return COLUMN, based on the result of 1st query 2nd query will execute:

SELECT OBJECT_ID from test.CORRELATION_SET
WHERE (NAME='STATUS' AND VALUE ='SUCCESS')
|OBJECT_ID|
|---------|
|A        |
|B        |
|C        |
|---------|
SELECT * FROM test.CORRELATION_SET
WHERE OBJECT_ID = ('A'|'B'|'C');
4

2 に答える 2

3

以下はクエリです

SELECT * FROM CORRELATION_SET
WHERE OBJECT_ID in (
  SELECT OBJECT_ID from CORRELATION_SET
  WHERE (NAME='STATUS' AND VALUE ='SUCCESS')
)
于 2013-04-28T05:57:19.910 に答える
1

あなたの例は本当に意味がありません.2番目のクエリで名前付きテーブルを見逃しているようです.

SELECT * from test.CORRELATION_SET WHERE (NAME='STATUS' AND VALUE ='SUCCESS')

上記のクエリは、2 つのクエリと同じ結果を返します。2 番目のクエリで というテーブルを使用すると仮定するとCORRELATION_SET2、Kumar がコメントで使用したネストされたクエリを使用できます。結合を使用することもできます。

SELECT set2.* FROM test.CORRELATION_SET set1
    JOIN test.CORRELATION_SET2 set2 ON set2.object_id = set1.object_id
WHERE
  set1.name = 'status' and set1.value = 'success';
于 2013-04-28T05:58:01.010 に答える