2016-10-11 13 views
-1

私はMysqlを使用しています。グループ(mysql)の種類が1つのみ選択列

Excelシートに関する情報を含む2つのテーブルがあります。

最初の表は、文書情報などのsheetIDCREATEDBYdateOfCreationが含まれています。 colNameに、COLTYPEsheetID

2番目の表は、それぞれの詳細は、シートをエクセル含まれています。

シートには、複数の数字が含まれます。colName

COLTYPE

A、BまたはC

ことができるsheetIDは、外部キーを介して相互に連結されています。

表1:

1 ABC.XLS GAURAV 
2 XYZ.XLS FOOBAR 
3 QWE.XLS FOO 
4 QZXC.XLS BAR 

表2:

1 name A 
1 place A 
1 amount B 
1 link C 
2 name A 
2 website C 
3 name A 
4 home A 
4 name A 
4 fname A 

は、私はデータの一種類のみを持っているすべてのそれらのシートを返すクエリを記述する必要があります。

この例のようにsheetId 4には "A"タイプのデータしかありません。

編集1: scaiseddgeが提供するソリューションが機能しました。

このクエリを拡張して、すべての3種類の列を含むシートを見つけることができます。上記の例のようにシートID 1には3つのタイプがあります。

+0

を使用することができます= b.'sheetID' GROUP BY sheetID、colType。 シートに1つ以上のタイプがあるかどうかを調べる方法はわかりません –

答えて

0

私は `a.`sheetID`で結合をTABLE1 bをtable2`から各シートに存在しているタイプの SELECT sheetID、COLTYPEを得ることができなかったsublectで

select t1.* 
from table_1 t1 
inner join table_2 t2 on t1.sheetDI = t2.sheetID 
where t2.sheetID not in (select distinct sheetID from table_2 
          where coltype <>'A') 
and t2.colType = 'A' 
関連する問題