問題タブ [inline-view]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
523 参照

sql - 「インラインビュー」を関連付けることができればいいのに

私は患者テーブルを持っています:

私はPatientMeasurementテーブルを持っています(0から多数):

次のような結果セットを作成しようとしています。

基本的に、測定 A の値が少なくとも 1 つ、測定 B の値が 1 つある場合、患者の分子は 1 になります。この例では、患者 1 には 3 つの A 測定値と 2 つの B 測定値があるため、分子は 1 です。 2 には 2 つの A 測定値がありますが、B 測定値がないため、分子は 0 です。患者には A 測定値も B 測定値もないため、分子は 0 です。

これまでの私のクエリは次のとおりです。

これは、相関する日付制限 (Recorded < dateadd(hh, 12, Admitted) を含めない限り、期待どおりに機能します。残念ながら、この方法で「インライン ビュー」を相関させることは、構文的に有効ではありません。

これにより、SQLを次のように書き直す必要がありました。

私の質問:これを行うためのより良い、より効率的な方法はありますか?

御時間ありがとうございます。

0 投票する
1 に答える
262 参照

sql - 最も早い時間でユーザーを選択し、他のデータと結合する

user特定の条件が満たされている(フィールドに基づいて)最も早い行からフィールドを選択しようとしているOracleデータベースがあり、timeその方法がわかりません。これが私のクエリの要点です:

私の問題は、WHERE条件に一致するuser最も早い値を持つ行から値のみをSELECTして取得する方法がわからないことです。SELECTで集計関数を実行していないため、time使用できないと思います。HAVING「最も早いtime値」の条件は、フィールドの選択にのみuser適用する必要があります。つまり、フィールドのすべての値に対して選択する必要がidあります。valuetime

上記のSELECTステートメントを保持してから、必要な特定のものを取得する別のSELECTステートメントとJOINできると考えてuserいました。

ただし、これはuser全体に対して1つの値しか取得しないため、最初のクエリでSELECTされたuser値ごとに個別の値が必要です。他のクエリのフィールドでクエリidを制限するにはどうすればよいですか?これは私が欲しいものを手に入れるための正しいアプローチでさえありますか?SELECT userid

0 投票する
2 に答える
215 参照

java - 一時テーブルを作成する代わりに、OracleインラインビューをJavaステートメント全体で使用できますか

同じインライン ビューで 3 つの個別の SQL を実行する Java プログラムがあります。- Java プログラムにはスキーマ オブジェクトを作成する権限がないため、plsql に委譲する必要があるため、一時テーブル ソリューションを回避しようとしています。PS:オラクル10g

0 投票する
2 に答える
84 参照

sql - With句から行を返す

値を再実行する関数を作成しようとしています。

私の関数には、次のスクリプトがあります。

戻り値は次のようになります。

http://img59.imageshack.us/img59/6733/tablei.gif

今、私はrow 3それが1行RightsMUTを持っているcozeを返したいです

どうすればこれを行うことができますか?私は2でそれをやろうとしましたWithが、oracleはまだ2をサポートしていません。

0 投票する
1 に答える
846 参照

oracle - 基準APIでインラインビューを使用できますか?

NHibernateは基準を使用したインラインビューをサポートしていますか?Googleは関連する結果を返さないようです。これが、できれば基準を使用して変換する必要があるクエリです。

where句ですでにすべてが変換されています。その部分は問題ありませんでした。これは次のようなものに変換されます。

Lambda基準拡張を使用していることに注意してください。または、追加のDtoを作成して、集計関数のないすべての列を選択し、Linqを使用してカウント/合計/最大/カウントを区別できると思います。

0 投票する
3 に答える
1403 参照

sql - すべてのビューを結合できません

Oracle RDMS は、set 演算子を含むビューをマージできないことを知っています。それはなぜなのか知りたいです。

たとえば、次のようになります。

これに変換できます:

これら 2 つのクエリは同等ですよね? [編集]

0 投票する
3 に答える
774 参照

sql - 結合時に区別して順序付けを使用する(PLSQL)

いくつかのテーブルに結合を記述し、2つのレベルの順序付けを使用してデータを順序付けました。そのうちの1つは、1つのテーブルの主キーです。

ここで、このデータを並べ替えて、インラインビューとDISTINCT句を使用して、データから重複を除外したいと思います。これが、私が行き詰まっていないところです。

データを並べ替えるか、区別することができるようですが、両方を同時に行うことはできません。これを回避する方法はありますか、それとも不確定性原理に相当するSQLに出くわしましたか?

このコードはソートされたデータを返しますが、重複しています

このコードは重複を削除しますが、順序を失います...

外側の選択の最後に「ORDERBYada_id」を含めようとすると、「ORA-01791:選択された式ではありません」というエラーメッセージが表示され、腹立たしくなります。