MYSQL 根据不同的项目类别为每个项目插入

  • 本文关键字:项目 插入 MYSQL mysql sql
  • 更新时间 :
  • 英文 :


我回答了我之前的问题,它有很大帮助,但现在它变得有点复杂。

我有以下表格:

Table: item
item_ID   item_Name  item_CLass
7          T-100     1
8          T-200     1
9          T-300     1
10         C-100     2
13         C-200     2
17         I-100     3

项目表的Item_Class连接到item_Class表中的 ID

Table: item_Class
item_Class_ID    item_Class_Name
1                Pipe
2                Cable
3                Instrument
Table: activities
m_ID     m_Name
1        Test 1
2        Test 2
3        Test 3
4        Test 4

然后我有一个中间的桌子

Table: cmc
item_Class_ID  m_ID
1              1
1              2
1              3
2              3
2              4
2              5
2              6
3              1
3              5
4              6

INSERT INTO `mt` (`item_ID`, `m_ID`, `mt_status`)
SELECT i.item_ID, c.m_ID, 'open'
FROM (SELECT i.*, row_number() OVER (ORDER BY `item_ID`) as seqnum FROM `item` i)
i JOIN (SELECT c.*, row_number() OVER (ORDER BY `item_Class_ID`)as seqnum FROM cmc c )
c ON i.seqnum = c.seqnum;

我试过这个,但没有得到我期望的。

我期待什么:

ITEM    mID  mt_status
7   1   open
7   2   open
7   3   open
8   1   open
8   2   open
8   3   open
9   1   open
9   2   open
9   3   open
10  3   open
10  4   open
10  5   open
10  6   open
13  3   open
13  4   open
13  5   open
13  6   open
17  1   open
17  5   open

但我只得到了这个:

ITEM    mID    mt_status
7       1      open
8       2      open
9       3      open
10      6      open
13      3      open
17      4      open

我错过了什么?

提前感谢任何帮助。

如果我理解正确,这是项目和cmc之间的join

select i.item, cmc.mid, 'open'
from items i join
cmc
on i.item_CLass = cmc.item_CLass

最新更新