下記のテーブルがある。idはintで、mailはtext
+------+--------------------------------------+
| id | mail |
+------+--------------------------------------+
| 1 | 最初のinsert into の実験 |
| 2 | 上手く行ったが、こんなもんでは無い。 |
| 3 | 途中からだが、上手く行くのか。 |
| 4 | 今度はもうバッチリ見たいだ。 |
| 5 | end_of_record |
| 6 | これが最後のテストデータです。 |
| 7 | 始めて、途中でエラーが出たが。 |
| 8 | 何か知らんが、2回目でエラーになる。 |
| 9 | ここで動かない理由は何なんだ。 |
| 10 | ここは気にせずに前を向いて歩こう。 |
| 11 | end_of_record |
+------+--------------------------------------+
これは、
select *
from work
where id<=
(
select min(id)
from work
where
mail = "end_of_record"
)
;
上記を実行すると下記が得られる。
+------+--------------------------------------+
| id | mail |
+------+--------------------------------------+
| 1 | 最初のinsert into の実験 |
| 2 | 上手く行ったが、こんなもんでは無い。 |
| 3 | 途中からだが、上手く行くのか。 |
| 4 | 今度はもうバッチリ見たいだ。 |
| 5 | end_of_record |
+------+--------------------------------------+
では、これをdeleteで実行しようとすると、サブクエリーでは同一の
テーブルが使えないと言うエラーが出る。
delete from work
select *
from work
where id<=
(
select min(id)
from work
where
mail = "end_of_record"
)
;
別名を使った、deleteのsqlを教えて下さい。
宜しく、お願いします。
No.1ベストアンサー
- 回答日時:
delete from work
where id<=
(select * from (
select min(id)
from work
where
mail = "end_of_record"
)as sub)
;
有難う御座います。
これは、素人では最初は難しいのかも。
最初は分からないのでここでは別のテーブルを使って
inner joinでやった方が分かり易くて良いのかなあと思っています。
折角回答を戴いて申し訳ありませんでしたが。
参考になりました。
こう言う方ほが有るのですね。
大変勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- Oracle SQL update方法 2 2022/06/22 14:07
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Visual Basic(VBA) エクセル VBA 難しいです 1 2023/02/21 15:39
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
副問合せの書き方について
-
SQLにて特定の文字を除いた検索...
-
sqlで、600行あるテーブルを100...
-
SQL Left Join で重複を排除す...
-
select文のwhere句に配列を入れ...
-
inner joinをすると数がおかし...
-
WHERE id = ? について
-
Access パラメータクエリをcsv...
-
エクセルの関数について教えて...
-
PL/SQLの変数について
-
ある条件の最大値+1を初番する...
-
Mysql UPDATE出来ません
-
マイクラPC版のコマンドで効率...
-
VIEWの元のテーブルのindexって...
-
ローカルルーターモードとは
-
複数テーブルのGROUP BY の使い...
-
Data too long for column 'id'...
-
mysqlのload data infileで連番...
-
1テーブル&複数レコードの更新...
マンスリーランキングこのカテゴリの人気マンスリー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の変数について
おすすめ情報