node.jsを使用してsequelizeで内部結合クエリを制御する方法は?

エブラヒム・アメール

日モデル:

dayNumber: {
  type: Sequelize.INTEGER,
  primaryKey: true
},
dayDate: {
  type: Sequelize.DATE
},
status: {
  type: Sequelize.INTEGER
},
traineeId: {
  type: Sequelize.INTEGER,
  primaryKey: true
},
workoutId: {
    type: Sequelize.INTEGER,
}

WorkoutsExercisesモデル:

exercise_name: {
  type: Sequelize.INTEGER,
  primaryKey: true
},
workout_id: {
  type: Sequelize.DATE,
  primaryKey: true
},
coach_id: {
  type: Sequelize.INTEGER,
  primaryKey: true
}

2つのテーブルを内部結合して、毎日のすべてのエクササイズを返したいだけです。次を使用します。

const Days = require('../models/days');
const WorkoutsExercises = require('../models/workoutsExercises');

Days.findAll({
  include: [{
    model: WorkoutsExercises,
      required: true
   }]        
})

そして、この関数は次のクエリを返します。

SELECT
`day`.`dayNumber`, `day`.`dayDate`,`day`.`status`, `day`.`traineeId`, `day`.`workoutId`,
`workoutsExercises`.`exercise_name` AS `workoutsExercises.exercise_name`, 
`workoutsExercises`.`workout_id` AS `workoutsExercises.workout_id`, 
`workoutsExercises`.`coach_id` AS `workoutsExercises.coach_id`
FROM `days` AS `day`
INNER JOIN `workoutsExercises` AS `workoutsExercises` ON `day`.`dayNumber` = `workoutsExercises`.`workout_id`; 

どのように私は(から条件に変更することができますdaydayNumber)に(dayworkoutId

エブラヒム・アメール

関係は次のようになります

WorkoutExercises.hasMany(Day, {foreignKey: 'workout_id'})
Day.belongsTo(WorkoutExercises, {foreignKey: 'workout_id', targetKey: 'workout_id'})

ターゲットキーはON句を変更するものであり、クエリは次のようになります。

Days.findAll({
  include: [{
    model: WorkoutsExercises,
    required: true
  }]        
})

これは:

SELECT

`day`.`dayNumber`, `day`.`dayDate`,`day`.`status`, `day`.`traineeId`, 
`day`.`workoutId`,

workoutsExercisesexercise_nameAS workoutsExercises.exercise_nameworkoutsExercisesworkout_idAS workoutsExercises.workout_idworkoutsExercisescoach_idなのでworkoutsExercises.coach_id

 FROM `days` AS `day`

 INNER JOIN `workoutsExercises` AS `workoutsExercises` ON 
 `day`.`workout_id` = `workoutsExercises`.`workout_id`;

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Node.jsでSequelizeを使用して結合クエリを作成する方法

分類Dev

NodeアプリケーションでKnex.jsを使用してANDで内部結合を構築する

分類Dev

node.jsを使用してデータベースからのクエリ結果をHTMLで表示する方法

分類Dev

node.jsを使用してmysqlで多数のクエリを作成する方法

分類Dev

Node.jsを使用してAzureCosmosDBでSQLクエリを実行する方法

分類Dev

Node.jsでhtpasswdを使用してリクエストを認証する方法

分類Dev

NodeのPostgresでSequelizeリクエストを使用して日付範囲でクエリを実行する

分類Dev

Node.jsでpgを使用してPostgresqlデータベースを適切にクエリする方法は?

分類Dev

node.jsのルートでLIKE(正規表現)を使用してmongodbをクエリする方法は?

分類Dev

Node.jsを使用してHTTPリクエストでJavaScript名をフォローする方法は?

分類Dev

Node.jsでSequelizeを使用してANDおよびOr演算子を実行する方法

分類Dev

Node.jsのリクエストを使用して内部HTMLコードを取得するにはどうすればよいですか?

分類Dev

Node.jsで画像をリクエストして画像を出力する方法

分類Dev

Node.JSを使用してMySQLをクエリし、結果をWebページに表示する

分類Dev

Node.jsでCloudSpannerを使用してクエリを補間する

分類Dev

AXIOS(Node.js)を使用してリクエスト間でCookieを保持する

分類Dev

複数のクエリを使用してNode.jsでJSONを構築する

分類Dev

curlを使用してNode.jsExpressをクエリする方法

分類Dev

Node.js(express)で[]ではなく{}で囲まれたjsonを返すには、knexとpostgresqlを使用してクエリの結果を返します。

分類Dev

POSTリクエストJSONを取得してからNode.jsでJSON形式を変更する方法は?

分類Dev

node.jsを使用して複数のMongodbクエリを1つに組み合わせるにはどうすればよいですか?

分類Dev

sequelize(node.js express)のインクルードでmodels.sequelize.col()を使用しているときに、あいまいなエラーが発生します

分類Dev

Node.jsを使用してhttp(s)リクエストをLocalTunnelでホストされているNode.jsサーバーに送信する方法

分類Dev

Node.jsクエリを使用して2つのPostgresデータベーステーブルを結合する

分類Dev

Node.jsで単純なHTTPSリクエストから値を構築して抽出する方法は?

分類Dev

Sequelizeを使用してNode.JSモデルを実装する方法

分類Dev

Node.jsで、async / awaitを使用してエラーを処理する正しい方法は何ですか?

分類Dev

node.jsを使用してmongodbからエントリを取得する方法

分類Dev

node.jsリクエストでURIエラーを処理する方法は?

Related 関連記事

  1. 1

    Node.jsでSequelizeを使用して結合クエリを作成する方法

  2. 2

    NodeアプリケーションでKnex.jsを使用してANDで内部結合を構築する

  3. 3

    node.jsを使用してデータベースからのクエリ結果をHTMLで表示する方法

  4. 4

    node.jsを使用してmysqlで多数のクエリを作成する方法

  5. 5

    Node.jsを使用してAzureCosmosDBでSQLクエリを実行する方法

  6. 6

    Node.jsでhtpasswdを使用してリクエストを認証する方法

  7. 7

    NodeのPostgresでSequelizeリクエストを使用して日付範囲でクエリを実行する

  8. 8

    Node.jsでpgを使用してPostgresqlデータベースを適切にクエリする方法は?

  9. 9

    node.jsのルートでLIKE(正規表現)を使用してmongodbをクエリする方法は?

  10. 10

    Node.jsを使用してHTTPリクエストでJavaScript名をフォローする方法は?

  11. 11

    Node.jsでSequelizeを使用してANDおよびOr演算子を実行する方法

  12. 12

    Node.jsのリクエストを使用して内部HTMLコードを取得するにはどうすればよいですか?

  13. 13

    Node.jsで画像をリクエストして画像を出力する方法

  14. 14

    Node.JSを使用してMySQLをクエリし、結果をWebページに表示する

  15. 15

    Node.jsでCloudSpannerを使用してクエリを補間する

  16. 16

    AXIOS(Node.js)を使用してリクエスト間でCookieを保持する

  17. 17

    複数のクエリを使用してNode.jsでJSONを構築する

  18. 18

    curlを使用してNode.jsExpressをクエリする方法

  19. 19

    Node.js(express)で[]ではなく{}で囲まれたjsonを返すには、knexとpostgresqlを使用してクエリの結果を返します。

  20. 20

    POSTリクエストJSONを取得してからNode.jsでJSON形式を変更する方法は?

  21. 21

    node.jsを使用して複数のMongodbクエリを1つに組み合わせるにはどうすればよいですか?

  22. 22

    sequelize(node.js express)のインクルードでmodels.sequelize.col()を使用しているときに、あいまいなエラーが発生します

  23. 23

    Node.jsを使用してhttp(s)リクエストをLocalTunnelでホストされているNode.jsサーバーに送信する方法

  24. 24

    Node.jsクエリを使用して2つのPostgresデータベーステーブルを結合する

  25. 25

    Node.jsで単純なHTTPSリクエストから値を構築して抽出する方法は?

  26. 26

    Sequelizeを使用してNode.JSモデルを実装する方法

  27. 27

    Node.jsで、async / awaitを使用してエラーを処理する正しい方法は何ですか?

  28. 28

    node.jsを使用してmongodbからエントリを取得する方法

  29. 29

    node.jsリクエストでURIエラーを処理する方法は?

ホットタグ

アーカイブ