2017-12-15 5 views
0

で、私は2つの異なるTBL_IDが含まれている次のようなデータを持っていません - 私は、私が試してみました何を「numRowsの数」 を含まないすべてのTBL_ID照会する必要が337448と8612MySQLのオペレータ

"TBL_ID","PARAM_KEY","PARAM_VALUE" 
337448,"comment","CHANGE DUE" 
337448,"transient_lastDdlTime","1505760292" 
8612,"COLUMN_STATS_ACCURATE","true" 
8612,"numFiles","1" 
8612,"numRows","5294" 
8612,"rawDataSize","-1" 
8612,"totalSize","113217" 
8612,"transient_lastDdlTime","1452191300" 

SELECT * FROM TABLE_PARAMS 
WHERE PARAM_KEY NOT IN ('numRows') 

結果:

"TBL_ID","PARAM_KEY","PARAM_VALUE" 
337448,"comment","CHANGE DUE" 
337448,"transient_lastDdlTime","1505760292" 
8612,"COLUMN_STATS_ACCURATE","true" 
8612,"numFiles","1" 
8612,"rawDataSize","-1" 
8612,"totalSize","113217" 
8612,"transient_lastDdlTime","1452191300" 

それはnumRowsの数と列を削除しましたが、私は、rに必要emove全体TBL_ID(8612)

+1

は、オペレーターで使用しようとしている場合、それはParam_Key =「numRowsの数」AND のIDであるので、あなたのセットのうちの8612を削除しようとしている場合、私はあなたが使用していると信じてそこに間違った質問があります。 IN演算子を使用して結果セットからデータを検索します。たとえば、2 IN {2、3、4}です。 –

答えて

2

あなたの質問は少しあいまいであるように参加して同じことを行うことができます。 IN演算子を使用して結果セットからデータを検索します。たとえば、2 IN {2、3、4}です。

SELECT TBL_ID FROM TABLE_PARAMS 
WHERE PRAMAR_KEY='numRows' 

あなたはnumRowsの数に関連付けられているIDのいずれかを表示しないようにしようとしている場合、あなたは、あなたが最初にして、ユーザと等しく、NOTをフィルタリングしたいIDを取得する必要があります。たとえば 、あなたはその後、

SELECT * FROM TABLE_PARAMS 
WHERE TBL_ID NOT IN (SELECT TBL_ID FROM TABLE_PARAMS WHERE PARAM_KEY='numRows')  
+0

これは素晴らしいことです。ご説明ありがとうございます – user3508766

2
NOT IN ('numRows') 

は、基本的には、通常、1が

mycol <> 'a' and mycol <> 'b' and mycol <> 'c' 
の全体の束を書いて簡素化するために複数の値でNOT INを使用しています

<> 'numRows' 

等しいではありません

とだけ書く

mycol NOT IN ('a', 'b', 'c') 

または

mycol NOT IN (SELECT badcols FROM table) 
のようにサブクエリを使用するためにあなたの用法は、EXISTS、NOTがNOT INよりも有用であることを行っている場合のように思えます。

SELECT * 
FROM TABLE_PARAMS t1 
WHERE NOT EXISTS (SELECT * FROM TABLE_PARAMS t2 WHERE t2.tbl_id = t1.tbl_id and t2.param_key<>'numFiles') 

それとも外

SELECT t1.* 
FROM TABLE_PARAMS t1 left outer join TABLE_PARAMS t2 
    on t1.tbl_id = t2.tbl_id and t2.param_key='numFiles' 
WHERE t2.tbl_id IS NULL 
+0

説明、素晴らしい情報ありがとうございました。 – user3508766