問題タブ [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.
mysql - Solr のデータ インポーター内から大規模な MySQL データセットを繰り返しクエリするにはどうすればよいですか?
本番データベースには 256 個のテーブルがあります。SELECT
各テーブルには約 10,000,000 行あります。1 つのクエリで 1 つのテーブルからすべての行を取得することはできません。
実際、テストとして、このようにクエリフェーズを solr/conf/data-config.xml に入れました。1 つのテーブルがあり、すべての行を選択しています。
Solr (Java ベース) を使用しています。そして、次のようにデータのインデックス作成をトリガーします。
curl --max-time 36000 -i localhost:portNum/solr/dataimport?command=full-import
これは XML の内容です。
<entity name="file" query="SELECT *, LOWER(REPLACE(sw_name, ' ', '')) packed_sw_name, CAST(group_id as char) group_id_s FROM tblTmp1"/>
しかし今、データ インポート用のテーブル番号 (tblNum) のパラメーターを取得し、ID 範囲内の行を繰り返し選択したいと考えています。ドル記号変数置換を使用すると、クエリは次のようになります。
<entity name="file" query="SELECT *, LOWER(REPLACE(sw_name, ' ', '')) packed_sw_name, CAST(group_id as char) group_id_s FROM tblTmp1_
$tblNum where id >=
$startSn and id<
$endSn" />
データベースに繰り返しクエリを実行するにはどうすればよいですか? また、どのファイルでこれを設定すればよいですか?
c# - EntityFrameworkMutli-多対多のテーブル
私はEF4.1CodeFirstを使用しており、テーブルをリンクする必要がある多対多の関係テーブルを作成しようとしています。以下のコードの小さなスニペットを参照してください。
したがって、Contactsオブジェクトは、「母」、「父」、「兄弟」など、さまざまなタイプの関係を持つことができます。
連絡先が参加したある種のイベントを追跡する必要がありますが、彼がイベントを主催する人とどのように関係しているかを知りたいです。それで、例えば、彼はイベンターの兄弟、父、または夫でしたか?別のイベントでは、同じ人物が現れる可能性がありますが、イベンターの義理の兄弟になります。
連絡するイベントは多対多です。連絡先との関係は1対多です。
SQLでは、リンクテーブルを作成し、そこに3つのプロパティID(EventId、ContactId、RelationId)がすべてあります。ただし、Code Firstでは、この関係をどのように表現しますか?
php - 異なるテーブルから同じフィールドを並べ替える
同じ構造のいくつかのテーブル (約 20) があり、php スクリプトを使用してそれらを並べ替え、新しいテーブルに挿入しようとしています。列の最も安い20:
テーブル A:
ID
名前
価格
表B:
ID
名
価格
表 X:
ID
名前
価格
tableResult :
ID
名
格安1 価格1 格安2
価格
2
...
格安X 価格
X
これまでの私のコードは次のとおりです。
私は別の解決策を探していましたが、15000行を選択するには時間がかかりすぎるため、別の方法があると思います。更新クエリをまだ探していません。最初に選択を修正する必要があります。
なにか提案を?
編集:より多くのテーブルを使用して、質問を明確にしました
EDIT2:ソリューション
私はついにそれを正しくしました。これは、最も安いものを選択するためのクエリです。各 ID を選択してブラウズします。
次に、glglgl が提案したように、新しいテーブルに挿入します。
mysql - これらの3つのテーブルに対して最も最適化されたMySQLクエリは何ですか?
私は4つのテーブルを持っています(しかし、そのうちの3つだけをクエリします):
記事(記事は「アイテム」、タイプ6):* a_id、a_title、a_text *
キーワード(キーワードが記事用の場合、そのタイプは6です):* kw_id、kw_type *
キーワード _翻訳*kw_id、language_id、kw_name *
Conn_Item_Keyword(アイテムとキーワード間の多対多の接続テーブル):* kw_id、kw_type、item_id *
ID 15で英語(language_id = 1)の記事のすべてのキーワードを照会するとします。
私はこれを書くことができます:
しかし、キーワードをConn_Item_Keywordのすべての行に結合するため、非常に遅いように思われます。結合で複数の条件(c.kw_id = k.kw_id AND c.kw_type = 6 AND c.item_id = 15)を試しましたが、正しく理解できませんでした。
このクエリを書くための最良の方法は何ですか?
android - 内部結合により、コンテンツプロバイダーのリレーショナルテーブルにデータを保存します
画像でどのように見ることができるか私はテーブルA、テーブルC、配列リストAを持っています。
テーブルA(id_A)のIDとテーブルC(id_C)のIDを持つリレーショナルテーブル(テーブルB)を作成する必要があります。配列リストには、必要なテーブルCのすべてのIDが含まれています。したがって、1つのid_Aがid_CのN個の要素に関してテーブルBのデータを保存する方法が必要です。
内部結合で実行できることは知っていますが、コンテンツプロバイダーでこれを開始する方法がわかりません。誰でも助けや例をあげることができますか?
ありがとうまたはあなたの時間
mysql - 1 つのステートメントで mysql の 2 つのテーブルを更新する
「イベント」と「部屋」の2つのテーブルがあります。
部屋のテーブルは次のようになります。
イベント テーブルは次のようになります。
新しいイベントの一括インポートをイベント テーブルに挿入するプロセスがあります。完了したら、「rooms」テーブルの主キーに対応する roomKey で新しいレコードを更新する必要があります。これは、rooms のレコードの locationID、buildingID、areaID、roomID、および clientKey を使用して一致させることができます。テーブル。(複数のアカウントが同じ場所、建物、エリア、または部屋の値を持つ可能性があるため、clientKey が必要です)。
現在、これに使用するクエリは次のとおりです。
ただし、2 つのアカウント (クライアント) の場所、建物、面積、部屋の値が同じ場合は考慮されません。クエリは、別のアカウントが同じ locationID、BuildingID、areaID、および roomID を持つ部屋レコードを持っているという事実に基づいて、イベント レコードに間違った roomKey 値を配置する可能性があります。
以下に示すように実行するようにクエリを変更できますが、非常に遅いです。使用するのに適切なクエリではないことはわかっているので、PHP ループなどでこの更新を行うことなく、改善を検討しています。
android - 既存の SQLite データベースへのデータの取得と追加
テーブルからデータを取得して、別のテーブルに追加しようとしています。KEY_CATEGORYID
テーブル1からどの自動インクリメントが必要で、それをテーブル2と4に追加する必要があります。メソッドが終了した後にのみ値を持つため、これを行う方法がわかりません。これは終了後に発生しKEY_CATEGORYID
ます。何をすべきか完全に困惑していますが、どんな助けも大歓迎です。createBudget
addId
sql - アクセスクエリでマルチテーブルが等しくない
2つのテーブルがあります。車両と所有権。OWNERSHIPテーブルにないすべての車両のリストを表示するクエリを作成しようとしています。基本的に、利用可能な車両在庫のレポートが必要です。私はこのクエリを試しました:
私が得ている:
私が平等を行うとき、私はそれが機能するように所有権にリストされているすべての車両を手に入れます。しかし、NOTEqualはそうではありません。何か案は?
sql - SQL 間に関係のない 2 つのテーブルをクエリする方法
私は2つのテーブルを持っています。
私が必要とする出力は次のとおりです。
- Supplier_id
- サプライヤ名
- Grade_id
- 学年名
- 顧客名
- 顧客ID
私が使用しているクエリは次のとおりです。
ただし、このクエリの戻り値に、これらのそれぞれの現在の日付より前の有効な最高の日付と、その日付の古い価格を追加する必要があります。この情報は、保持する価格表で見つけることができます
私はこれをやろうとしました:
これにより、次のエラーが表示されます。マルチパート識別子「c.customer_id」をバインドできませんでした。
何か案は?
php - 複数のテーブルを検索するクエリでテーブル名を取得する
次のクエリコードを変更して、結果にテーブル名を含めるにはどうすればよいですか?
$ queryはデータベース内の4つのテーブルを検索し、結果にそれらがどのテーブルからのものであるかを含めたいと思います。4つのテーブルすべてに同じフィールドがあります。
次に、以下の$results_array[]配列に示すように結果を出力します。
前もって感謝します。