
下記のテーブルがある。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ランキング
-
複数テーブルのGROUP BY の使い...
-
フリーマーケット!
-
ローカルルーターモードとは
-
bashスクリプトで特定の文字に...
-
mysqlについて
-
尾形光琳の作品が見たい!
-
製品の最安店舗を取りたい。
-
レコードセットに新規追加する
-
EXISTSでの列名指定
-
データベース内の値をweb内でテ...
-
Dell Latitude C600に合うメモ...
-
JOIN後同一名カラムから値がと...
-
ストアド内でカラム名一覧を取得
-
SQLServerでのデータディクショ...
-
INSERT時の大小比較を含む重複...
-
このSQL文の意味を教えてくださ...
-
verilogに適したvimの設定を探...
-
正規表現を使って前方一致置換...
-
最小値をUPDATE
-
MySQLでvarcharに先頭ゼロをセ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
エクセルの関数について教えて...
-
sqlで、600行あるテーブルを100...
-
select文のwhere句に配列を入れ...
-
SQLにて特定の文字を除いた検索...
-
WordpressのContact form 7でzi...
-
SQLサーバから、項目の属性(型...
-
VIEWの元のテーブルのindexって...
-
クエリ表示と、ADOで抽出したレ...
-
マイクラPC版のコマンドで効率...
-
【Transact-sql】 execの結果を...
-
SQL Left Join で重複を排除す...
-
エラー 1068 (42000): 複数の主...
-
[MySQL] UNIQUE制約の値を更新...
-
inner joinをすると数がおかし...
-
1テーブル&複数レコードの更新...
-
Access パラメータクエリをcsv...
-
期間の重複を調べるSQL文につい...
-
Unionした最後にGROUP BYを追加...
-
Updateの複数テーブル条件時のL...
おすすめ情報