0

以下のような2つのテーブルがあります。

TableA --> categoryId(pk), categoryParentId, catName
TableB --> empId(pk), categoryId, empName, empDesignation

ここに画像の説明を入力

ofがofに等しい場所catNameから、それぞれの categoryId を持つすべてを取得したい。助けてください。TableAcategoryId=2TableBcategoryParentId=2TableA

結果:

1002   SE
1003   MD
4

5 に答える 5

0

このクエリがあなたのニーズを満たすことを願っています

    SELECT TABLEA.CATNAME AS CATEGORY
    from TABLEB INNER JOIN TABLEA 
    ON TABLEA.CATEGORYPARENTID = TABLEB.CATEGORYID
于 2012-08-30T20:54:24.060 に答える
0

このようなもの?

SELECT DISTINCT catName FROM TABLEA WHERE categoryParentId IN (SELECT DISTINCT categoryID from TABLEB);
于 2012-08-30T20:45:19.620 に答える
0

ソリューションINNER JOIN:

select TableA.catName
from TableA
inner join TableB on TableA.categoryParentId = TableB.categoryId

INNER JOINテーブルの結合には、 を使用することをお勧めします ( ではなくSELECT ... FROM TableA, TableB ...)

見る:


コメントへの回答 ( categoryIdfromが必要だったと思いますTableA):

select TableA.catName, TableA.categoryId
from TableA
inner join TableB on TableA.categoryParentId = TableB.categoryId
where TableB.categoryId = 2
于 2012-08-30T20:49:32.650 に答える
0

別の方法...

SELECT 
  catname
from
  tablea a INNER JOIN
  tableb b ON 
    a.categoryParentID = b.categoryID
  group by
  catname
于 2012-08-30T21:04:18.817 に答える
-1

これでうまくいくはずです

SELECT tableA.catName
 FROM tableA, tableB
WHERE tableB.categoryId = table1.categoryParentId
  AND tableB.categoryId = 2;

一意の catNames が必要な場合は、使用できます

SELECT distinct tableA.catName
 FROM tableA, tableB
WHERE tableB.categoryId = table1.categoryParentId
  AND tableB.categoryId = 2;
于 2012-08-30T20:44:51.557 に答える