MySQL3.23.58にて以下のSQLを実行したいのですが、
サブクエリーが利用できないため困っています。
やりたいことは、
1.memberテーブルにemailが重複したデータがあるため、
ユニークなemailを取得したい。
2.取得したemailを元にmemberテーブルを参照し、
シーケンシャルでユニークなidを取得したい。
3.その取得したidを元にflagが立っているものを取得したい。
以上になります。
実際に行いたいSQL文は以下になります。
select count(*) from member where id in (
select
max(id)
from
member
where
email in (
select
distinct email
from
M_MEMBER
where
email != '' and
email not like '%@docomo.ne.jp' and
email not like '%ezweb.ne.jp' and
email not like '%ido.ne.jp' and
email not like '%vodafone.ne.jp' and
email not like '%@jp-%'
)
) and flag = 1;
どうかよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
たぶんこういうことだと思うのですが。
countは関係ないですよね?
select
email, max(id)
from M_MEMBER
where
email != '' and
email not like '%@docomo.ne.jp' and
email not like '%ezweb.ne.jp' and
email not like '%ido.ne.jp' and
email not like '%vodafone.ne.jp' and
email not like '%@jp-%'
and flag = 1
group by email;
No.2
- 回答日時:
うちも使えません。
mysql Ver 11.18 Distrib 3.23.52, for pc-linux-gnu (i686)
何故でしょうか?
バージョンが古くて対応していないか、オプションの設定が必要なのか、多分その何れかの気がします。
問い合わせのコードミスが原因では無い事を確認する為に同じ事をしてみて下さい。
mysql> create table tb1 (it1 varchar(5) );
Query OK, 0 rows affected (0.00 sec)
mysql> create table tb2 (it1 varchar(5) );
Query OK, 0 rows affected (0.00 sec)
mysql> insert into tb1 values ( 'aaaaa');
Query OK, 1 row affected (0.00 sec)
mysql> insert into tb2 values ( 'aaaaa');
Query OK, 1 row affected (0.00 sec)
mysql> select * from tb1;
+-------+
| it1 |
+-------+
| aaaaa |
+-------+
1 row in set (0.00 sec)
mysql> select * from tb2;
+-------+
| it1 |
+-------+
| aaaaa |
+-------+
1 row in set (0.00 sec)
mysql> select * from tb1 where tb1 in (select it1 from tb2);
ERROR 1064: You have an error in your SQL syntax near 'select it1 from tb2)' at line 1
mysql> select * from tb1 where tb1.it1 in (select tb2.it1 from tb2);
ERROR 1064: You have an error in your SQL syntax near 'select tb2.it1 from tb2)' at line 1
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- その他(SNS・コミュニケーションサービス) 自分のpcがハッキングされたようなメールが来たのですがどうすればいいですか? 4 2022/10/02 16:14
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- 英語 正しく意味がとれない 2 2023/06/12 04:43
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- Gmail チャットGPTの登録ができない 1 2023/03/07 02:43
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
inner joinをすると数がおかし...
-
エクセルで最後の文字だけ置き...
-
SQLにて特定の文字を除いた検索...
-
PL/SQLの変数について
-
select文のwhere句に配列を入れ...
-
副問合せの書き方について
-
sqlで、600行あるテーブルを100...
-
WHERE id = ? について
-
エクセルの関数について教えて...
-
エラー 1068 (42000): 複数の主...
-
マイクラPC版のコマンドで効率...
-
Access パラメータクエリをcsv...
-
selectした大量データをinsert...
-
SQL Left Join で重複を排除す...
-
1テーブル&複数レコードの更新...
-
VIEWの元のテーブルのindexって...
-
ローカルルーターモードとは
-
別テーブルからSELECTした値を...
-
Mysql UPDATE出来ません
-
DataTableで重複行を削除したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
SQL Left Join で重複を排除す...
-
副問合せの書き方について
-
SQLサーバから、項目の属性(型...
-
VIEWの元のテーブルのindexって...
-
select文のwhere句に配列を入れ...
-
selectした大量データをinsert...
-
センノシド異性体構造式
-
Unionした最後にGROUP BYを追加...
-
insertを高速化させたい
-
SQLにて特定の文字を除いた検索...
-
マイクラPC版のコマンドで効率...
-
ある条件の最大値+1を初番する...
-
inner joinをすると数がおかし...
-
sqlで、600行あるテーブルを100...
-
エクセルの関数について教えて...
-
Access パラメータクエリをcsv...
-
URL と行番号の指定
-
複数テーブルのGROUP BY の使い...
-
PL/SQLの変数について
おすすめ情報