SQLコマンドでのエラーに関しまして
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
SQLコマンドでのエラーに関しまして
msg# 1
gs_kuwabara
投稿数: 229
いつもお世話になっております
MS-SQLを使用しているのですが
メインレコードに下記のSQL文を入れて実行すると
○SQL文
SELECT 郵便番号,住所,
(SELECT count(*) FROM 郵便番号辞書
WHERE 住所 LIKE ':1')
FROM 郵便番号辞書
WHERE 住所 LIKE ':1'
order by 郵便番号
※郵便番号辞書から郵便番号の逆検索を行う
サブプログラムで1件しかなければ画面を
表示させたくないので1つのSQL文で件数
も取得したいのです
○エラーメッセージ
EXISTSを使わないサブクエリでは、サブクエリの選択リスト
には、式を1つだけしか使えません。
とエラーメッセージがでます
何のエラーなのでしょうか?
ご教授頂ければ幸いです
MS-SQLを使用しているのですが
メインレコードに下記のSQL文を入れて実行すると
○SQL文
SELECT 郵便番号,住所,
(SELECT count(*) FROM 郵便番号辞書
WHERE 住所 LIKE ':1')
FROM 郵便番号辞書
WHERE 住所 LIKE ':1'
order by 郵便番号
※郵便番号辞書から郵便番号の逆検索を行う
サブプログラムで1件しかなければ画面を
表示させたくないので1つのSQL文で件数
も取得したいのです
○エラーメッセージ
EXISTSを使わないサブクエリでは、サブクエリの選択リスト
には、式を1つだけしか使えません。
とエラーメッセージがでます
何のエラーなのでしょうか?
ご教授頂ければ幸いです
投票数:0
平均点:0.00
Re: SQLコマンドでのエラーに関しまして
msg# 1.1
KURITA
投稿数: 45
単純にMS-SQLでは許されていない記述方法になっている
ということはありませんか?
上記のSQLはOracleでは意図されている結果が戻ります。
MS-SQL Serverならクエリアナライザで、そのSQLは実行できているのですか?
ということはありませんか?
上記のSQLはOracleでは意図されている結果が戻ります。
MS-SQL Serverならクエリアナライザで、そのSQLは実行できているのですか?
投票数:0
平均点:0.00
Re: SQLコマンドでのエラーに関しまして
msg# 1.1.1
gs_kuwabara
投稿数: 229
ORACLEでも結果が返ってきますか・・・
MS-SQLでも問題無く結果が返ってきます
クエリアナライザでも問題はありません
マジックからだと何か制約がかかるのでしょうか・・・
MS-SQLでも問題無く結果が返ってきます
クエリアナライザでも問題はありません
マジックからだと何か制約がかかるのでしょうか・・・
投票数:0
平均点:0.00
Re: SQLコマンドでのエラーに関しまして
msg# 1.1.1.1
KURITA
投稿数: 45
実行環境が無いので憶測になります。
クエリアナライザで直接実行できているとのことですので
MAGICで用意されているデータベースのドライバ(DLL)が
SQLを解析しきれないとかそういうことかも知れないのかと・・
もし残りを試すとしたら引渡し引数を分けてみる。
またサブクエリに別名をつけてみるをしてみたらいかがでしょうか?
クエリアナライザで直接実行できているとのことですので
MAGICで用意されているデータベースのドライバ(DLL)が
SQLを解析しきれないとかそういうことかも知れないのかと・・
もし残りを試すとしたら引渡し引数を分けてみる。
またサブクエリに別名をつけてみるをしてみたらいかがでしょうか?
投票数:0
平均点:0.00
Re: SQLコマンドでのエラーに関しまして
msg# 1.1.1.1.1
gs_kuwabara
投稿数: 229
お返事ありがとうございます
SELECT 郵便番号,住所
FROM 郵便番号辞書
WHERE 住所 LIKE ':1'
order by 郵便番号
は実行できるのです
SELECT 郵便番号,住所
FROM 郵便番号辞書
WHERE 住所 LIKE ':1'
order by 郵便番号
は実行できるのです
投票数:0
平均点:0.00
Re: SQLコマンドでのエラーに関しまして
msg# 1.1.1.1.1.1
Take
投稿数: 124
gs_kuwabaraさん
引数をひとつではなく、片方を式にすることで二つにし「':1’」の後のほうを「:2」にしたらどうなりますか?
引数をひとつではなく、片方を式にすることで二つにし「':1’」の後のほうを「:2」にしたらどうなりますか?
投票数:0
平均点:0.00
Re: SQLコマンドでのエラーに関しまして
msg# 1.1.1.1.1.1.1
KURITA
投稿数: 45
以下のようなSQLにした場合ら、どうなりますか?
(細かい所はOracleでの記述になってしまっていますので
MS-SQLに置き換えてください)
SELECT A.郵便番号, A.住所, B.件数
FROM
(
SELECT ':1' AS KeyName, 郵便番号,住所
FROM 郵便番号辞書
WHERE 住所 LIKE ':1'
) A,
(
SELECT ':1' AS KeyName, COUNT(*) AS 件数
FROM 郵便番号辞書
WHERE 住所 LIKE ':1'
)
WHERE A.KeyName = B.KeyName
ORDER BY A.郵便番号
(細かい所はOracleでの記述になってしまっていますので
MS-SQLに置き換えてください)
SELECT A.郵便番号, A.住所, B.件数
FROM
(
SELECT ':1' AS KeyName, 郵便番号,住所
FROM 郵便番号辞書
WHERE 住所 LIKE ':1'
) A,
(
SELECT ':1' AS KeyName, COUNT(*) AS 件数
FROM 郵便番号辞書
WHERE 住所 LIKE ':1'
)
WHERE A.KeyName = B.KeyName
ORDER BY A.郵便番号
投票数:0
平均点:0.00
Re: SQLコマンドでのエラーに関しまして
msg# 1.2
Kurogane
投稿数: 50
gs_kuwabaraさん、こん○○は。
今回の件については制限事項のようです。
具体的には、select句内にサブクエリがある状態で、order by句を
併用すると、DBエラーが起きます。
対処として今回の例ですと、
SELECT 郵便番号,住所,cnt.件数
FROM 郵便番号辞書,(SELECT count(*) '件数' FROM 郵便番号辞書 WHERE 住所 LIKE ':1') cnt
WHERE 住所 LIKE ':1'
ORDER BY 郵便番号
とすれば、動作するのではないかと思われます。
お試し下さい。^^
今回の件については制限事項のようです。
具体的には、select句内にサブクエリがある状態で、order by句を
併用すると、DBエラーが起きます。
対処として今回の例ですと、
SELECT 郵便番号,住所,cnt.件数
FROM 郵便番号辞書,(SELECT count(*) '件数' FROM 郵便番号辞書 WHERE 住所 LIKE ':1') cnt
WHERE 住所 LIKE ':1'
ORDER BY 郵便番号
とすれば、動作するのではないかと思われます。
お試し下さい。^^
投票数:0
平均点:0.00
Re: SQLコマンドでのエラーに関しまして
msg# 1.3
pu_mahalo
居住地: 大阪
投稿数: 775
こんにちは Puです
v9Plus と Sqlserver2005の組み合わせで
同じクエリーをMagicから実行してやると
問題なく動作しました
文法的にも問題ないですし
MagicもF8に引っ掛かりませんでした
後日 v10で試してみますが
多分問題ないかと思われます
v9Plus と Sqlserver2005の組み合わせで
同じクエリーをMagicから実行してやると
問題なく動作しました
文法的にも問題ないですし
MagicもF8に引っ掛かりませんでした
後日 v10で試してみますが
多分問題ないかと思われます
投票数:0
平均点:0.00
Re: SQLコマンドでのエラーに関しまして
msg# 1.3.1
gs_kuwabara
投稿数: 229
皆様
色々ご指南ありがとうございました
先週は、インフルエンザにかかりまして
出社出来なくて試せませんでしたが
先程、解決いたしました
色々ご指南ありがとうございました
先週は、インフルエンザにかかりまして
出社出来なくて試せませんでしたが
先程、解決いたしました
投票数:0
平均点:0.00