問題タブ [self-referencing-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 投票する
1 に答える
189 参照

php - PHP Zend フレームワーク - 多レイヤー メニュー

私のアプリケーションでは、このような動的な多層メニューを作成したい

おもちゃ1

==>サブおもちゃ1-a

==>サブおもちゃ1-b

おもちゃ2

==>サブおもちゃ2-a

==>サブおもちゃ2-b

おもちゃ3

==サブtoy3-a

親メニューにはToy1、Toy2、Toy3が含まれ、サブメニューにはサブtoy1-a、サブtoy1-b、およびそれが属する父親が含まれるデータベースに2つのテーブルを作成しました。これを作成するためのデータベースまたはアルゴリズムを取得する方法がわかりません。誰でも解決策がありますか?

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

asp.net-mvc-3 - 自己関連テーブルからデータを効率的にロードする方法

フォーラムアプリを構築するには、次の要件を考慮してください

親の投稿

テーブル構造

tblPost-

  • PostId
  • ChildPostId
  • タイトル
  • コンテンツを投稿する
  • ユーザー名

=====================

再帰CTEを使用して、この種のデータを取得できます。これが最善のアプローチかどうかはわかりません。

質問

  • SQLを使用してこのデータを取得するための最良の方法は何ですか?

  • ORMを使用してこのデータをロードするためのより良い方法はありますか?

  • SQLルートを使用する場合、このデータを次のようなクラスにロードするための最良の方法は何ですか。

    /li>
  • ビューにかみそりの構文を使用して、この種のデータを表示するのはどうですか?

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

c# - TelerikNestedHierarchyの親列を非表示にする

以下のようなグリッドがあります。さらにいくつかのデータ列があります。
ID列とParentID列を非表示にします。しかし、IDを非表示にすると、展開/折りたたみ機能がなくなります。すべての行は通常のテーブルのように表示されます。

ここに画像の説明を入力してください

どうすればそれを達成できますか?

Display="false"引き続きOrderIDをhtmlに保持するため、この機能は機能するはずですが、機能しません。

誰かアイデアはありますか?

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

sql-server-2005 - クライアント\サプライヤーの連絡先の詳細

サプライヤーとクライアントの連絡先の詳細を保存する最良の方法は何だろうと思っていました。

私が考えていたのは、あるだろうということでした

GUID、ParentGUID、タイプ、TypeDesc、詳細

type は整数、typedesc はその他の場合などの場合で、詳細は明らかにデータになります。

私が見つけている問題は、これをすべてリンクする方法です。

これは、クライアント -> 連絡先 (役職、名前、ミドルネーム、姓) -> 電話 -> エイリアスです。

これは、階層のケースである可能性があります。

現在、下位互換性のため、サプライヤー テーブルとクライアント テーブルを結合することはできません。しかし、将来的には行われる予定です。

また、特定のクライアントの制限により、MSSQL 2005 を想定する必要があります。それ以外の場合は、2008 年に getroot() およびその他の便利な関数で解決されたため、問題はありません。

フィールドの 1 つを検索する場合は、おそらく多くの場合があります。また、クライアントまたはサプライヤーを知る必要があります。

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

sql - 自己参照テーブルで、ユーザーが割り当てられたスペースよりも多くのスペースを持つ行を追加できないようにする

階層クエリに問題があります。次のような自己参照テーブルがあります。

データベースにトリガーを追加して、ユーザーがその船の残りのサイズを超えるキャビンを追加できないようにする必要があります。

たとえば、テーブルでは、船 1 の合計サイズは 50 です。サイズ 40 を消費するキャビンが 2 つあります。したがって、使用可能なスペースとして 10 が残ります。サイズが 10 を超える別のキャビンを追加することはできません。<= 10 であれば問題ありません。キャビンや棚も同様です。キャビン内のすべての棚の合計サイズは、そのキャビンに割り当てられた合計サイズを超えてはなりません。

テーブル (ルート) には、任意の数の出荷エントリを含めることができます。

私は階層的なクエリについて知っており、ツリーをたどることができますが、問題について自分の考えをまとめるのが難しいと感じています。そのトリガーを正常に追加できるように、誰かが私を正しい方向に向けてもらえますか?

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

c# - ツリーノードを再配置し、EFを使用して自己参照テーブルに保存し直します

ツリービューをレンダリングするために使用するEFで正常に機能する自己参照テーブル構造があります。EFエンティティは次のようになり、構造全体を熱心にロードします。

次に、UIに機能を追加して、任意のノードに新しい子ノードを追加し、jQueryを使用してノードを再配置しました。更新された構造は、同じエンティティを使用してセッションに保存されます。

EFを使用して保存し直したい場合、次のような別のエンティティ内にあるため問題が発生しMainEntity、ツリーを更新するたびにこれを保存(更新)しています。

セッションの値を使用してこのTreeプロパティを更新し、EFに保存するように指示するにはどうすればよいですか?その構造の親と子を新しい構造に一致するように変更するにはどうすればよいですか?

コマンドパターンを使用してUIのすべてのアクションを記録し、後で保存時にEFエンティティでそれらを再生することを考えていました。しかし、それはやり過ぎのように見えます:(

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

mysql - 自己参照テーブルにレコードを追加するにはどうすればよいですか?

私はMySqlの初心者です。次の自己参照テーブルを作成したいと思います。

次のコマンドを使用します。

今私の問題は、2つのレコードをどのように入力するのですか?つまり、外部制約が失敗するたびに。入力してみました:

私も試しました:

上記のコマンドは両方とも失敗します。エラーを与える:

エラー1452(23000):子行を追加または更新できません:外部キー制約が失敗しますBLAH BLAH

皆さん、実際、私は次のpptのスライド番号25に示されているテーブルを実装しようとしていました:リレーショナルデータモデルとリレーショナルデータベースの制約

制約は次のとおりです。

  1. SUPERSSN Of EMPLOYEEは、EMPLOYEEのSSNを参照します。
  2. DEPARTMENTのMGRSSNは、EMPLOYEEのSSNを参照します。
  3. EMPLOYEEEのDNOは、DEPARTMENTのDNumberを参照します。

テーブルを作成した後、レコードを追加するにはどうすればよいですか?外部キー制約は常に失敗します。

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

mysql - 行がそれ自体を参照できないようにMySQLの自己参照テーブルを制限する方法は?

これは私の質問を説明するための非常に基本的な表です。

私の現在のコードでは、CustID を持っている以前の顧客のみが ReferralID 列に存在できるようになっています (つまり、顧客にストアについて伝えました)。ただし、同じ行で CustID が ReferralID と等しくなるのを止めるものは何もありません。これは明らかに不可能です。 . 顧客は店について自分自身を言うことができません。

基本的に、CustID と ReferralID が同じ行に同じ値を持たないようにするにはどうすればよいですか?

ありがとう、アンドリュー

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

c# - テキストツリーで自己参照テーブルを表す

自己参照テーブルをテキストツリー(TreeViewと同様ですがテキスト)で表現したいと思います。私はそれに取り組んできました、そして私はこれまでうまくいきました。問題は、ツリーの奥深くに数レベル行くときです。これまでのところ、結果は次のとおりです。

上記のProblem Groupsように、フォーマットが壊れ始め、余分な行が表示されます。

私が書いたコードは次のとおりです。

見栄えの良いコードを使用してこれを正しく表す方法はありますか?

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

sql - カスケード削除による SQL Server での N レベル ツリーのモデル化

SQL Server で n レベルのツリーをモデル化する必要があります。Node私はもともとテーブルを作成するために次のようなことをしました:

ParentIDこれは、別のNodeエンティティを参照する自己参照テーブルです(ルートには がありますnull ParentID)。しかし、カスケード削除に制約を追加しようとすると、次のようになります。

私が読んだところによると、これは SQL Server のかなりよく知られた妥当な制限のようです。これを達成するためにトリガーを使用することを提案する人もいますが、可能であればそれを避けたいと思います。

私の質問は、カスケード削除を可能にするために、SQL で n レベルの階層またはツリーをどのようにモデル化する必要があるかということです。

SQL Server 2012 を使用しています。