問題タブ [multi-table]

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 投票する
2 に答える
12119 参照

sql-server - 複数のテーブルからのデータを使用した SQL 挿入

Messages、MessageCategory、MessageStatus、MessageLevel の 4 つのテーブルがあります。

MessageCategory、MessageStatus、および MessageLevel にはすべて、Identity (主キー)、Code、および Description の 3 つのフィールドしかありません。Messages はこれら 3 つのフィールドを参照し、Identity (主キー) MessageText と Order を含む他のいくつかのデータ フィールドを持ちます。ID フィールドは自動インクリメント フィールドです。

ここで、SQL スクリプトを作成して、4 つのテーブルすべてに既定のデータを追加する必要があります。問題は、このスクリプトを実行する顧客に送信されるスクリプトを作成する必要があることです。更新全体を行うために、もう少しインテリジェントなコードを書くことはできません。3 つのテーブルは単純な挿入ステートメントに過ぎませんが、さらに頭を悩ませているのは Messages テーブルです。

インデックスを削除することはできず、主キーのカウントが 1 から始まるとは想定できません。

例として、彼女のデータは次のとおりです。

メッセージには次のようなものが必要です。

しかし、それはうまくいきません。それで、これを機能させるためのトリックは何ですか?(コードを読みやすくすることも...)

残念ながら、他のデータベースにはアクセスできません。私はそれをテストすることができますが、動作するように見えたら、送信して動作するように祈るだけです...

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

django - Djangoマルチテーブル継承VSモデルでの明示的なOneToOne関係の指定

これがすべて理にかなっていることを願っています:)必要に応じてコメントで明確にします。また、私はこの質問で太字のテキストを使用して実験しており、私(またはあなた)が気が散る場合はそれを編集します。それが邪魔にならないように...

django.contrib.authを使用すると、ユーザーとグループが提供されます。基本的なメッセージングなど、これなしでは実行できない便利な機能もあります。

私のアプリには、いくつかの異なるタイプのユーザーがいます。ユーザーは1つのタイプのみになります。それは、少し特別な注意を払えば、グループによって簡単に処理されます。ただし、これらの異なるユーザーは、階層/関係で相互に関連しています。

これらのユーザーを見てみましょう:-

プリンシパル-「トップレベル」ユーザー

管理者-各管理者はプリンシパルに報告します

コーディネーター-各コーディネーターは管理者に報告します

これらとは別に、直接関連していないが、後で関連する可能性のある他のユーザータイプがあります。たとえば、「会社」は別のタイプのユーザーであり、さまざまな「製品」を持つことができ、製品は「コーディネーター」によって監督される場合があります。「バイヤー」は、製品を購入する可能性のある別の種類のユーザーです。

現在、これらすべてのユーザーには他のさまざまな属性があり、その一部はすべてのタイプのユーザーに共通であり、一部は1つのユーザータイプにのみ固有です。たとえば、すべてのタイプのユーザーはアドレスを持っている必要があります。一方、「BranchOffice」に属するのはプリンシパルユーザーのみです。

上で述べたもう1つのポイントは、ユーザーは1つのタイプにしかなれません

アプリは、プリンシパル、管理者、コーディネーター、会社、製品などを誰が作成および/または変更したかを追跡する必要もあります。(つまり、ユーザーモデルへのリンクがあと2つあります。)

このシナリオでは、Djangoのマルチテーブル継承を次のように使用することをお勧めします。

または、このように実行する必要があります:-

外部キーを介して関連する他のユーザータイプがあることに注意してください。例:-

Djangoは、舞台裏でマルチテーブル継承に1対1の関係を使用していることを認識しています。私はどちらがより健全なアプローチであるかを決定するのに十分な資格がありません。

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

mysql - Doctrineを使用してMySQLデータベースで複数テーブルを削除する構文は何ですか?

Doctrineを使用して、複数のテーブルから収集したデータに基づいて、単一のテーブルのレコードを削除しようとしています。

「会社_グループ」は、「会社」を「グループ」にリンクする関連付けテーブルです。特定の会社にリンクされたこのテーブルのすべてのレコードを削除したいのですが、'public' グループにリンクされた 'companies_groups' レコードのみが削除されるという制限があります。

これを純粋な SQL で書くとしたら、次のようになります。

Doctrineで同等のものは何ですか? 私は今、1時間ほど苦労して実験しています。

現時点で私はこれを持っています:

(私の Doctrine モデルは、'company_groups' テーブルの 'Company_group' と 'groups' テーブルの 'Group' です)

次の SQL が生成されます。

生成された SQL では、DELETE と FROM の間に「companies_groups」がなく、修飾子が削除されていることがわかります (つまり、「id」があいまいになります)。

役立つ追加情報があれば教えてください。

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

django - DjangoAdminでのマルチテーブル継承によるValueError

モデルエントリを継承する2つの新しいクラスを作成しました。

admin.site.registerを介してこれらの新しいモデルをadminに追加した後、adminを介してコメントまたは割引を作成しようとすると、ValueErrorが発生します。エントリの追加は正常に機能します。

エラーメッセージ:

/ admin / reviews / discount / add /のValueError「」を割り当てることができません:「Discount.discount」は「Discount」インスタンスである必要があります。リクエスト方法:GETリクエストURL: http ://127.0.0.1:8000/admin/reviews/discount/add /例外タイプ:ValueError例外値:
「''」を割り当てることができません:「Discount.discount」は「Discount」である必要があります実例。例外の場所:/Library/Python/2.6/site-packages/django/db/models/fields/related.py in set、211行Python実行可能ファイル:/ usr / bin / python Pythonバージョン:2.6.1

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

php - PHP SQL:最初のテーブルのデータを除外せずに、2 つのテーブル間で対応するデータを一致させる

私は2つのテーブルを持っています。簡単にするために、「u」には次の列があります
userid
divisionid

「d」には次のものがあり
ます

私はこのテーブルを作成しませんでした。そうでなければ、この問題は発生しませんでした。u.DIVISIONNULL にすることができます。d.DIVISIONはできません

以下を実行すると、適切なデータが作成されますが、その部門 ID が NULL であるすべてのユーザー ID も除外されます。部門IDに関係なくすべてのユーザーIDを表示し、部門IDがnullでない場合は、部門の名前を表示する方法はありますか?

"SELECT userid, d.NAME
FROM u,d
WHERE u.divisionid = d.divisionid
ORDER BY userid"

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

nhibernate - NHibernateを使用した複数のテーブルからのエンティティのマッピング

次の質問で、NHibernate の初心者の助けになれば幸いです。Page と WorkPage という 2 つのテーブルがあるとします。Page テーブルにはバージョン管理されていないデータが含まれ、WorkPage には同じページのバージョン管理されたデータが含まれています。つまり、Page と WorkPage の間には 1 対多の関係があります。

コードには、Page テーブルと WorkPage テーブルのすべてのプロパティを含むエンティティがあり、さらにこれらのプロパティは同等です。バージョン管理されたデータとバージョン管理されていないデータのサブエンティティにグループ化されていません。

このようなエンティティを NHibernate を使用してこれらのテーブルにマップするにはどうすればよいですか?

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

mysql - MySQL (MyISAM) - フィールドを異なるテーブルの最大 2 つのフィールドに更新する

2 つのテーブルがt1あり、t2それぞれに 2 つの列があります -id_userage. に一致する IDがない場合、一致する ID の最大のものに更新し、変更しないままにする方法
を教えてください。t1.aget1.aget2.aget1.aget2

更新前:

更新後:

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

sql - 複数のテーブルを使用したクエリ

私は4つのテーブルを持っています:

  • 文字
  • arena_team
  • arena_table_member
  • arena_team_stats.

文字テーブルには GUID、名前があります

arena_team テーブルには、arenateamid、name、type があります

arena_table_member テーブルには GUID があります (これは characters テーブルと同じです)、arenateamid

arena_team_stats テーブルには arenateamid、rating、wins、wins2、played があります

キャラクターがいるアリーナ チームのリストを取得するにはどうすればよいですか? 私は試した:

ただし、arena_team テーブルにあるすべてのアリーナ チームを返します。

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

asp.net - BLLからマルチテーブル結合値を返す方法

この質問は、最終的な学校のプロジェクトでDAL-BLLアーキテクチャを使用して作成しているASP.NETWebサービスに関するものです。

2つのテーブルの内部結合を使用したselectクエリであるストアドプロシージャがあります。したがって、ストアドプロシージャはマルチテーブル値を返します。私のDALtableAdapterメソッドの1つは、このストアドプロシージャにアクセスします。BLLで戻り値を取得するにはどうすればよいですか?ストアドプロシージャによって返されるはずのクラス構造と同様のクラス構造を作成する必要がありますか?または同じことを達成するための直接的な方法はありますか?よろしくお願いします。理解を深めるためにコードアプレットが必要な場合はお知らせください。ありがとう

詳細については、次のとおりです。DALでSQLデータセット(.xsd)を使用しています。だから私は「保険」と呼ばれるデータテーブルを持っています。これにはtableAdapterがあります。アダプタのクエリの1つは、内部結合を持つストアドプロシージャを参照しています。したがって、私のSPは次のよ​​うになります。

したがって、このSPは、内部結合の2つのテーブルの組み合わせとなるデータテーブルを返します。私が間違っている場合は私を訂正してください。

今私のBLLで、私は持っています:

ここで、insAdapterはinsuranceTableAdapterのインスタンスです。

これにより、実行時にエラーが発生します。SPを正常に実行できるので、問題はbczだけだと思います。BLLから間違ったデータテーブルを返そうとしています。これを解決するのを手伝ってください。

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

sql - SQL: タイムスタンプに応じて他のテーブルの値で更新

次の問題があります。テーブル A の列「UPDATE_VALUE」を別のテーブル B の列「SOURCE_VALUE」の値で更新したいのですが、両方のテーブルにタイムスタンプ列があり、テーブル A で更新する必要がある値はテーブル A の行のタイムスタンプより小さい/等しい最高のタイムスタンプを持つテーブル B の行の 1 つ。

例えば:

表 A:

表 B:

したがって、テーブル A の行 1 では、テーブル B の VAL_1 が必要です。この行のタイムスタンプは、テーブル A の行のタイムスタンプより小さい/等しいテーブル B の最高値であるためです。テーブル AI の行 2 には、行 4 が必要です。テーブル B など。完全な結果は次のようになります。

表 A:

私は SQLite 3 を使用していますが、SQL クエリに関するヒントをいただければ幸いです。

お時間を割いていただき、ありがとうございました。

スギ