2

クエリに問題があります:

SELECT table1.Name,
       COUNT(*)  
FROM table1
LEFT JOIN table2 ON table2.Name_all = table1.Name
GROUP BY table1.Name

table1の名前を表示してカウントします。table1に存在しないtable2のすべての名前を結合したい。

多分誰かが私が間違っていることを知っていますか?

前もって感謝します

4

3 に答える 3

1

あなたの説明から、あなたはこれを意味しているようです。これは、table1の名前と一致しないname_allのリストです。

SELECT table2.Name_all
FROM table2
LEFT JOIN table1 ON table2.Name_all = table1.Name
WHERE table1.Name Is Null

カウントも必要な場合は、次のように言うことができます。

SELECT table2.Name_all, Count(table2.Name_all) AS CountOf
FROM table2 
LEFT JOIN table1 ON table2.Name_all= table1.Name
WHERE table1.Name Is Null
GROUP BY table2.Name_all;
于 2012-09-25T16:11:45.397 に答える
0

次に簡単なinチェックをします

SELECT table1.Name,
FROM table1
WHERE table1.Name In (SELECT table2.Name_all FROM table2)
GROUP BY table1.Name

他の方法もありますが、これ以上の情報がなければ、これは簡単な方法です。

于 2012-09-25T08:07:23.153 に答える
0

これを試して

このクエリは、テーブル 1 とテーブル 2 から一般的な名前を取得します。また、テーブル 1 にない名前をテーブル 2 から取得します。

SELECT table1.Name,
       table2.Name,
       COUNT(*)  
FROM table2  
LEFT JOIN table1 
    ON table2.Name_all = table1.Name
GROUP BY table1.Name, table2.Name

これが機能するかどうか教えてください。

于 2012-09-25T07:54:55.510 に答える