2017-02-20 60 views
-1

我需要在一個表中插入插入一些數據:選擇,並在同一查詢

INSERT INTO match VALUES(null, CURDATE(), ID_LOCAL_TEAM, ID_VISITOR_TEAM, result, season) 

但插入ID_LOCAL_TEAM,我需要做的另一種選擇,從另一個表(教練表)。選擇是下一個:

SELECT team FROM coach WHERE id_coach= SOME VALUE 

的問題是:我怎麼能在同一個查詢做到這一點?

+1

https://dev.mysql.com/doc/refman/5.7/en/insert-select.html –

+2

和ID_VISITOR_TEAM,結果,季節?? – scaisEdge

回答

1

簡單地將語句:

INSERT INTO match 
SELECT 
    NULL 
, CURDATE() 
, team AS ID_LOCAL_TEAM 
, ID_VISITOR_TEAM 
, result 
, season 
FROM coach 
WHERE id_coach = SOME_VALUE 

由於scaisEdge已經問,到哪裏都是在從哪裏來INSERT語句中的其他值?如果這些是變量或字符串,上面的代碼應該可以正常工作。如果從某處選擇它們,則需要將它們來自的任何表加入coach表。

AS ID_LOCAL_TEAM不需要,只是把它扔在那裏作爲參考點。

+0

在帖子中的答案很好,但這不是我所需要的,可能我沒有解釋清楚。我需要的是從coach table中取ID_LOCAL_TEAM,其ID是SOME_VALUE,並將此ID放入Insert中。可能這個程序並不是我所尋找的 – zasaz

+0

@zasaz - 我提供的查詢是這樣做的。 SELECT語句是INSERT的一部分。 – chazbot7

+0

工作正常!謝謝! – zasaz