2013-06-18 15 views
-5

我有这样的INSERT:SQL INSERT,也许内部连接

INSERT INTO gamecodes (gamecode, accountname, premium_points, alreadyused) 
VALUES ('$gamecode','$accountorname',$premiumpoints,'N') 

我需要帮助。在变量$ accountorname我得到了一个PLAYER的名字,我需要得到他的账户。

两个表:

TABLE PLAYERS 
id, name, account_id.. 
id, player name, table accounts.id 

TABLE ACCOUNTS 
id, name .. 
id = table players account_id 
+0

这是一个'INSERT'声明。为了“得到他的账户”,你将需要使用“SELECT”语句。你有尝试过吗?如果是这样,你会在这里发布吗? –

+1

这有什么难的?一个简单的选择语句会给你你需要的... –

回答

0

你可以尝试沿着线的东西:

INSERT INTO gamecodes (gamecode, accountname, premium_points, alreadyused) 
SELECT '$gamecode',accounts.name,$premiumpoints,'N' 
FROM accounts 
JOIN players 
ON accounts.id = players.account_id 
WHERE players.name = '$accountorname' 
+0

工作过,非常感谢你! – user2498466

0

您的查询可能看起来像 -

INSERT INTO gamecodes(gamecode, accountname, premium_points, alreadyused) 
VALUES('$gamecode', '$accountname', $premiumpoints, 'N') 
WHERE(SELECT accountname FROM accounts JOIN gamecodes ON accounts.accountname = gamecodes.accountname WHERE accounts.accountname = $accountname)