いつもお世話になっております。
例えば以下のようなテーブルがあります。
顧客名 紹介者 [フィールド名]
Aさん null
Bさん Aさん
Cさん Bさん
Dさん Cさん
Eさん Aさん
Fさん Cさん
この中から以下のような結果が出るクエリ↓
顧客名 紹介者カウント [フィールド名]
Aさん 2
Bさん 1
Cさん 2
Eさん 0
Fさん 0
を作成するには、どのようなSQL文を組み立てたら
よいのでしょうか?
[顧客名でDISTINCT、紹介したカウントを求める。
カウントは"AS 紹介者カウント" で格納]
例えば、Aさんは2回誰かを紹介している。
何度やってもできません。
どなたかご教授ください。
No.1ベストアンサー
- 回答日時:
SELECT 紹介者 AS 顧客名,COUNT(*) AS 紹介者カウント
FROM テーブル名
GROUP BY 紹介者
というのでどうでしょうか。
PrintScreeさん。
さっそくのお返事ありがとうございました!!
PrintScreeの方法だと、顧客名が、紹介されている人しか結果として表示されないようです・・。
顧客者は全員表示で、紹介されていない場合は"0"と表示されて欲しいのですが、中々思うようにいきません。
しかし、助言誠にありがとうございました!
もう少しかんがえてみます!
No.5
- 回答日時:
皆さん、外部結合を使って書かれているので、それ以外の方法で書いてみます。
select a.顧客名,count(*) as 紹介者カウント
from テーブル as a,テーブル as b
where a.顧客名=b.紹介者
group by a.顧客名
試してないけど、動くと思います。
原始的な構文なので、古いデータベースでも動くと思いますよ。
k_o_r_o_c_h_a_nさん、お返事ありがとう御座います。
なるほどこういう方法もあるのですね!?
早速試してみます!
本当にありがとうございました!
No.4
- 回答日時:
DBが不明ですが
テーブルをTblとした場合
SELECT Tbl_1.顧客名, Count(Tbl.紹介者) AS 紹介者のカウント
FROM Tbl AS Tbl_1 LEFT JOIN Tbl ON Tbl_1.顧客名 = Tbl.紹介者
GROUP BY Tbl_1.顧客名, Tbl.紹介者;
これで出来ます。
O_cyanさん。
お返事ありがとうございました!
大変申し訳御座いません!
Access2000を使用しております!
SQLありがとうございます。
さっそくやってみます。
No.3
- 回答日時:
RDBMSは何ですか?
バージョンは?
ここは「MS-ACCESS」というカテゴリではないので、
そういった情報も書いてください。
期待する結果で、「Dさん 0」が抜けていますが、
単なる記述漏れですか?
以下のようなSQLに、してみてください。
「IFNULL(Y.CNT,0)」で、件数がない(null)の場合に
0と返すようにしています。
お使いのRDBMSで、「nullの場合、別の値を返す」と
いう関数があると思うので、書き換えてください。
SELECT X.顧客名,IFNULL(Y.CNT,0) AS 紹介者カウント
FROM テーブル名 AS X
LEFT JOIN
(select 紹介者,count(*) AS CNT
from テーブル名
group by 紹介者) AS Y
ON X.顧客名=Y.紹介者
chukenkenkouさんお返事ありがとうございました!
申し訳御座いませんでした。
確かにおっっしゃるとおりです。
これではデータベースの種類もわからないですよね!?
本当にすいませんでした。
Access2000を使用しております。
一度このSQL文でやってみます。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- 出会い・合コン 職場の尊敬する上司から独身の異性を紹介されました。 職場の上司はとても尊敬する方で、私のことも深く理 5 2023/08/03 23:44
- SQL Server 2つのSQL(Access)の結果[時刻,カウント数]を結合して集計する方法 1 2022/04/06 22:57
- その他(ネットショッピング・通販・ECサイト) ソースネクストという会社の広告メールが多すぎて困る 4 2022/09/28 13:17
- その他(ネットショッピング・通販・ECサイト) アメリカの大手通販サイトiherbを普段利用中の方に質問です。 iherb歴7年のものです。 いつも 2 2022/06/10 13:59
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- 中学校 中一です! 英語の授業で自分のヒーローをみんなの前で紹介するやつがあるんですよ。でもヒーローがいなく 2 2023/02/15 15:41
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- ハローワーク・職業安定所 転職活動においてハローワーク紹介状の有無について 1 2022/05/02 22:36
- 中学校 現在教育実習中です。 担当教科は英語で担当学年は中学3年生です。 来週から授業を担当しますが 指導教 2 2023/06/06 19:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のDBからテーブルをコピーす...
-
データベースの1要素に複数デー...
-
Access VBAでクエリーのレコー...
-
シングルクォーテーションとダ...
-
Access 縦(行)のデータを横(列)...
-
Access2013VBA 複数のテーブル...
-
Access 既に開いているフォー...
-
結合
-
ACCESS2003 Aアクロバットを介...
-
Accessを使って独自の顧客管理...
-
テーブル1 2 3 の結合
-
Access フォームのデータがテー...
-
ACCESS で マクロの中でフィ...
-
ADOでレコードを閉じるタイミン...
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
変数が選択リストにありません
-
「直需」の意味を教えてください
-
アクセス エラーを数値「0」に...
-
Accessでテーブル名やクエリ名...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースの1要素に複数デー...
-
Access VBAでクエリーのレコー...
-
Access IF文でテーブルに存在し...
-
Access フォームのデータがテー...
-
顧客IDを入力すると顧客名や住...
-
ACCESS で マクロの中でフィ...
-
ワードでの単純作業の効率化に...
-
ワードで保存するファイル名の...
-
シングルクォーテーションとダ...
-
Access 縦(行)のデータを横(列)...
-
別のDBからテーブルをコピーす...
-
Access 既に開いているフォー...
-
Access2000 単票フォーム上の...
-
Accessデータベースで行と列を...
-
Accessで名寄せグループの関係...
-
文字化け、記号の含まれるフィ...
-
Access レコードロックについて...
-
【続続】Access2002で連番のつ...
-
ACCESSで重複したデータがある...
-
Access クエリ このレコードセ...
おすすめ情報