插入选择,2个不同的1个非独特的

时间:2015-11-19 18:21:38

标签: mysql select join insert

    pantodata table:
    year    starID    agentID
    1957     0         100
    1958     1         100
    1959     2         101

    star table:
    starID   starName   role   agentID
       0      Stu       rom     100
       1      Bla       fay     100
       2      ian       lay     101

    contract table:
    year      starID    agentID

我已经有一个表格,每个代理都会引用一个星号。一颗恒星有一个独特的恒星ID,而一个恒星可能有很多恒星。在合同表中,我试图将每个明星和代理商引用到在pantodata中指定的年份。使用星表(先前关系)或仅使用pantodata的解决方案可能会有什么解决方案 从长远来看,哪一个会更有效率?

我尝试过的解决方案:

    -#1062 - Duplicate entry '8' for key 3 
    INSERT INTO Contract (year, starID, agentID)        
    SELECT DISTINCT year, starID, agentID
    FROM pantodata

    -#1062 - Duplicate entry '1957' for key 1
    INSERT INTO Contract (year, starID, agentID)        
    SELECT DISTINCT p.year, s.starID, s.agentID
    FROM pantodata p, star s

这些都不适合作为年份和年份。 starID是截然不同的,但代理人不是。

0 个答案:

没有答案