No.3
- 回答日時:
ユーザー名・・同姓同名があれば 名前は不味い気がしますが
Table1
井上 達也
中野 浩二
斉藤 隆
Table2
井上 達也
斉藤 隆
山田 太郎
求める件数 = 4
select count(nm) as cnt from
(select name as nm from Table1
union
select name from Table2)
No.2
- 回答日時:
<Table1>
ID___顧客名
1____鈴木 一郎
2____山田 太郎
<Table2>
ID___顧客名
1____村上 信次
2____鈴木 一郎
3____鈴木 一郎
<クエリ1>
ユニークな顧客数
3
まあ、色々と工夫すればクエリも作れないことはないです。
[イミディエイト]
? DBLookup("SELECT COUNT(非重複顧客名) FROM(SELECT DISTINCT 顧客名 AS 非重複顧客名 FROM Table1)")
2
? DBLookup("SELECT COUNT(非重複顧客名) FROM(SELECT DISTINCT 顧客名 AS 非重複顧客名 FROM Table2)")
2
? DBLookup("SELECT COUNT(テーブル間重複顧客名) FROM(SELECT DISTINCT Table1.顧客名 AS テーブル間重複顧客名 FROM Table1, Table2 WHERE Table1.顧客名=Table2.顧客名)")
1
? DBLookup("SELECT COUNT(テーブル間重複顧客名) FROM(SELECT DISTINCT Table2.顧客名 AS テーブル間重複顧客名 FROM Table1, Table2 WHERE Table2.顧客名=Table1.顧客名)")
1
重要なことは、2+2-(1+1)ではなく、2+2-1ということです。
2+2-(1+1)/2かなとも思いましたが、多分、2+2-1でいいです。
そういうことで、クエリは次のようになります。
SELECT DBLookup("SELECT COUNT(非重複顧客名) FROM(SELECT DISTINCT 顧客名 AS 非重複顧客名 FROM Table1)")+DBLookup("SELECT COUNT(非重複顧客名) FROM(SELECT DISTINCT 顧客名 AS 非重複顧客名 FROM Table2)")-DBLookup("SELECT COUNT(テーブル間重複顧客名) FROM(SELECT DISTINCT Table1.顧客名 AS テーブル間重複顧客名 FROM Table1, Table2 WHERE Table1.顧客名=Table2.顧客名)") AS ユニークな顧客数;
ここでは、自作関数 DBLookupを利用しています。
が、一応、クエリには違いありません。
Public Function DBLookup(ByVal strQuerySQL As String) As Variant
On Error GoTo Err_DBLookup
Dim DataValue
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
With rst
.Open strQuerySQL, _
CurrentProject.Connection, _
adOpenStatic, _
adLockReadOnly
If Not .BOF Then
.MoveFirst
DataValue = .Fields(0)
End If
End With
Exit_DBLookup:
On Error Resume Next
rst.Close
Set rst = Nothing
DBLookup = DataValue
Exit Function
Err_DBLookup:
MsgBox "SELECT 文の実行時にエラーが発生しました。(DBLookup)" & Chr$(13) & Chr$(13) & _
"・Err.Description=" & Err.Description & Chr$(13) & _
"・SQL Text=" & strQuerySQL, _
vbExclamation, " 関数エラーメッセージ"
Resume Exit_DBLookup
End Function
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) Access クエリ 同一テーブル内 複数フィールドの同時集計のやり方について 1 2022/05/18 19:01
- Excel(エクセル) Excelでデータを抽出するに良い方法 9 2023/02/06 12:42
- Access(アクセス) Access2016でフォーム内にExcelの複数シートを 表示させるイメージで複数テーブルの デー 1 2022/11/25 15:30
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースの1要素に複数デー...
-
Access VBAでクエリーのレコー...
-
顧客IDを入力すると顧客名や住...
-
ワードでの単純作業の効率化に...
-
Accessで名寄せグループの関係...
-
テーブル1 2 3 の結合
-
Access レコードロックについて...
-
ファイルメーカーの集計につい...
-
ACCESS で マクロの中でフィ...
-
SQLの結果がNULLならタブを出す...
-
Access IF文でテーブルに存在し...
-
文字化け、記号の含まれるフィ...
-
Excel 2019 のピボットテーブル...
-
【Access】フォームで自動計算...
-
アクセスクエリの計算
-
エクセルVBAで5行目からオート...
-
列が存在しないと言われる
-
Accessでテーブル名やクエリ名...
-
「直需」の意味を教えてください
-
Oracle 2つのDate型の値の差を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access VBAでクエリーのレコー...
-
Access IF文でテーブルに存在し...
-
データベースの1要素に複数デー...
-
ワードでの単純作業の効率化に...
-
Access フォームのデータがテー...
-
ACCESS で マクロの中でフィ...
-
Accessデータベースで行と列を...
-
ワードで保存するファイル名の...
-
別のDBからテーブルをコピーす...
-
ADOでレコードを閉じるタイミン...
-
Accessで名寄せグループの関係...
-
シングルクォーテーションとダ...
-
Access 縦(行)のデータを横(列)...
-
顧客IDを入力すると顧客名や住...
-
Access クエリ このレコードセ...
-
(ACCESS)連番取得について
-
Access2000 単票フォーム上の...
-
Access 既に開いているフォー...
-
文字化け、記号の含まれるフィ...
-
Access2013VBA 複数のテーブル...
おすすめ情報