2010-12-10 18 views
4

数字の魔法の値を返すMAGICというSQL関数があるとします。SQLクエリ内でSQL関数を使用するには

さらに、SQLテーブルから数字のリストを魔法の値とともに返すSQLクエリを作成したいとします。

私の本能は

SELECT number, MAGIC(number) FROM NUMBERS; 

を書くことですが、これはエラーメッセージ `MAGICが認識機能名ではありません返します。どうすればこの作品を作れますか?

EDIT:MAGICは単一の値しか返さなくてもテーブル値関数に設定されているようです。私のDBAはデータベース機能コードにアクセスすることはできないので、私はそのように作業しなければなりません。

+2

どのDBMSを使用していますか? MySQL? SQLサーバー? –

+0

_single_値を返します。 – Oded

+0

私はMicrosoft SQL Serverを使用しています –

答えて

4

それはスカラー値関数である場合は、完全にTSQLであなたの機能を修飾:

SELECT number, dbo.MAGIC(number) FROM NUMBERS; 
+0

私はすでにこれを試しました。次のエラーメッセージが表示されます。列 "dbo"またはユーザー定義関数または集計 "dbo.Fn_Org_GetAncestor"を見つけることができないか、名前があいまいです。 –

+0

この構文でスカラー値関数を使用すると、スカラー値関数を検索するため、エラーが発生します。 –

0

そのテーブル値関数の場合は、ちょうどこのか:

SELECT n.number, mn.number FROM numbers as n CROSS JOIN dbo.Magic(n.number) as mn 
0

を使用してみてくださいフィールドのような機能...これはTSQL用です。

SELECT number, 
-- start function 
(SELECT function_field_name FROM dbo.MAGIC(number)) AS magic_number 
-- end function 
FROM dbo.NUMBERS 
関連する問題