2013-02-13 71 views
0

我必須做一個MySQL查詢,而且我很困惑。mysql加入裏面插入到

我有三個表格:usuarioscombisusuario_has_combis。我做了一些SELECT s來檢查一個用戶是否還沒有保留一個傳輸。直到那一點,沒關係。但我需要查詢的是,如果用戶hasn't訂了運輸的是,預訂它,我有這樣的事情:

$insertaPedido = "INSERT INTO usuarios_has_combis (id_usuarios,id_combis,fecha) VALUES ('$user','$combi','$fecha')"; 

的事情是,這種聯合行同時與usuarios表和連接combis表。我想知道,在這個查詢中寫入連接的位置。

回答

1

不知道如果我理解你,但我認爲這是你想要什麼:

INSERT into usuarios_has_combis (id_usuarios,id_combis,fecha) 
SELECT id_usuarios, id_combis, '$fecha' 
FROM usuarios, combis 
WHERE user = '$user' 
AND combi = '$combi' 

你應該沒有實際的變量插值到語句,你應該使用佔位符一份準備好的聲明。這只是顯示結構。

+0

嗯,這實際上不會拋出錯誤,但不會插入任何數據庫hehehe,不知道發生了什麼事情,但這是主意。只是缺少連接部分,其中'JOIN usuarios AS u ON uhc.id_usuarios = u.id_usuarios JOIN combis AS c ON uhc.id_combis = c.id_combis'我補充說,也沒有工作,這是如何諮詢現在。 – 2013-02-13 19:33:49

+0

你沒有清楚地解釋你想要做什麼,我只是猜測你想用這些其他表來將用戶名轉換成用戶ID,並將組合ID命名爲組合ID。我不知道你想通過加入你插入的表格來做什麼,因爲該行尚不存在。請澄清這個問題,]顯示一些樣本數據和預期結果。 – Barmar 2013-02-13 19:38:12

+0

最小的例子是,這是一個表與用戶,其中每個用戶有一個唯一的ID,這個ID是我用於usuario_has_combis表的相同的ID,所以我需要在插入到usuarios_has_combis時進行連接,所以它得到用戶ID,從用戶表,我不知道我應該多清楚,對不起。 – 2013-02-13 19:44:03