
SELECT HINMOKU_NAME FROM HINMOKU WHERE HINMOKU_CODE IN
(SELECT HINMOKU_CODE FROM URIAGE WHERE URIAGE_DATE =
'2004-11-10');
上記をSQL文をEXISTS述語を使って書き換えると
エラーが出てしまい、うまく書き換えがすることが
できません。下記にエラーがでるSQL文を記載いたします。
SELECT HINMOKU_NAME FROM HINMOKU WHERE EXISTS (SELECT HINMOKU_CODE FROM URIAGE
WHERE URIAGE_DATE ='2004-11-10'
WHERE HINMOKU.HINMOKU_CODE=URIAGE.HINMOKU_CODE);
上記SQL文についてどこに問題があるのか、ご教授お願い致します。
No.3ベストアンサー
- 回答日時:
単に「エラーが出る」ではなくて、どんなエラーか内容を書きましょう。
>WHERE句を減らしてHAVING句にしましたが、
>エラー表示されてしまいます。
そんなデタラメなことをやってはいけません。(笑)
HAVINGは、GROUP BYと共に使用するものです。
表名、列名の指定は正しいとして、表の関連付けのための条件とその他の条件をANDで結んでください。
EXISTS内のSELECTの列名は、今回のSQLの場合は意味がないので、一般的には「*」を指定します。
(慣習的に「1」を指定する人もいる)
【修正例】
SELECT HINMOKU_NAME
FROM HINMOKU
WHERE EXISTS
(SELECT * FROM URIAGE
WHERE URIAGE_DATE ='2004-11-10'
AND MOKU.HINMOKU_CODE=URIAGE.HINMOKU_CODE);
HAVING句はGROUP句で使用するものでしたね。。。
大変失礼しました・・・・
なるほどと思わされる内容でした。
非常に助かりました。
これからは、エラー内容の表示についても注意します。
No.2
- 回答日時:
>WHERE URIAGE.HINMOKU_CODE = HINMOKU.HINMOKU_CODE
後は、スキーマーやテーブルかViewか判らないんですが、固定項目じゃない所を'='では結べないのでは?
No.1
- 回答日時:
>SELECT HINMOKU_CODE FROM URIAGE
WHERE URIAGE_DATE ='2004-11-10'
WHERE HINMOKU.HINMOKU_CODE=URIAGE.HINMOKU_CODE
に、WHERE句が2つ有るのが問題な気が・・・。
この回答への補足
SELECT HINMOKU_CODE FROM HINMOKU WHERE EXISTS (SELECT HINMOKU_CODE
FROM URIAGE WHERE URIAGE.HINMOKU_CODE = HINMOKU.HINMOKU_CODE
HAVING URIAFW_DATE = '2004-11-10');
WHERE句を減らしてHAVING句にしましたが、
エラー表示されてしまいます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 日本の全市区町村を人口密度が低 1 2023/06/18 19:51
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「名前(first name) 1 2023/06/24 13:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mplabの事です。 2年くらい前に...
-
SQL エラー コードの一覧 につ...
-
AccessのFormat関数について
-
ACCESSでのINSERTについて
-
パイソンのエラー
-
movable typeの使い方
-
EXSIST述語を使った副問合わせ...
-
オラクルのエラー番号、エラー...
-
ACCESS 2003ランタイムによるEX...
-
DB2のテーブルの修復方法
-
SQLServerユーティリティについて
-
AccessのMDBのオープンエラーに...
-
列名に変数を使うことはできな...
-
Access97でアプリケーションエ...
-
SQLiteで全文検索はANDできない?
-
実行時エラー459 withステート...
-
SQLサーバー2012 アンインスト...
-
Access2010実行時エラー-21473525
-
ORACLE PL/SQLの...
-
Windows2000とAccessランタイム...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスでエラー このフィー...
-
#1062 - '0' は索引 'PRIMARY' ...
-
オラクル(PL/SQL)のエラー
-
列名に変数を使うことはできな...
-
SQLserver2005 nvarchar を flo...
-
BULK INSERTのエラー取得は可能...
-
AccessVBA 実行時エラー'2766'...
-
UPDATEを使ったSQL文にて
-
空白はダメというエラーの表示...
-
SQL文長の制限
-
PL/SQL ORA-06502エラーに関し...
-
Access2010実行時エラー-21473525
-
エラーについて
-
DocuWorksでの印刷
-
Access 実行時エラー'3075' 対...
-
アクセスでのエラーについて
-
『ORA-00936: 式がありません。...
-
オラクルでisnumeric?
-
実行時エラー459 withステート...
-
SQL*Loaderで「オブジェクトが...
おすすめ情報