簡體   English   中英

SEQUELIZE如何進行內連接?

[英]How to do Inner Join in SEQUELIZE?

我有兩張桌子:

表 1

ID 姓名 電子郵件
第一的
第二

表 2

ID 數字 地位
第一的
第二

我已經為每個模型提供了一個 JS 文件。

這是針對表 1:

import  Sequelize  from "sequelize";
import db from './index.js';

const table1 =  db.define("table_1", {
        id : {
            type: Sequelize.UUID,
            defaultValue: Sequelize.UUIDV4,
            allowNull: false,
            primaryKey: true
        },
        name: {
            type: Sequelize.STRING(100),
        },
        email: {
            type: Sequelize.STRING(100),
        }
    }, {
        schema: 'example',
        tableName: 'table1'
});

export default table1;

這是針對表 2:

import  Sequelize  from "sequelize";
import db from './index.js';

const table2 =  db.define("table_2", {
        id : {
            type: Sequelize.UUID,
            defaultValue: Sequelize.UUIDV4,
            allowNull: false,
            primaryKey: true
        },
        number: {
            type: Sequelize.STRING(100),
        },
        status: {
            type: Sequelize.STRING(50),
        }
    }, {
        schema: 'example',
        tableName: 'table2'
});

export default table2;

我想通過 Sequelize 使用 Inner Join。 我看到我可以使用原始 SQL 腳本,但由於我使用的是 Sequelize,所以我想充分利用它並利用它而不是使用原始 SQL。

我如何為此進行內部連接?

我要使用的 SQL 腳本是這樣的:

SELECT    
    t1.id,
    t1.name,
    t2.email,
    t2.number,
    t2.status
FROM
    table2 t2
INNER JOIN table1 t1
    on t1.id = t2.id
WHERE
    t2.email = 'test.test@test.com';

同樣,我正在尋找一種在 Sequelize 中執行此操作的方法,而不僅僅是使用原始 SQL。

試試看

Product.hasOne(ProductCategory, { as: 'category', foreignKey: 'productId' });


const products = await Product.findAll({
        include: [
            {
                model: model.ProductCategory,
                as: 'category',
                required: true
            }
        ]
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM