【问题标题】:SQL INSERT with SELECT inside, maybe inner joins [closed]内部带有 SELECT 的 SQL INSERT,可能是内部连接 ​​[关闭]
【发布时间】:2013-06-18 19:27:45
【问题描述】:

我有这个插入:

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

【问题讨论】:

  • 这是INSERT 声明。要“获取他的帐户”,您需要使用SELECT 声明。你试过了吗?如果是这样,你会在这里发布吗?
  • 这有什么难的?一个简单的 select 语句将准确地为您提供所需的内容...

标签: php mysql sql


【解决方案1】:

您可以尝试以下方式:

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'

【讨论】:

  • 工作,非常感谢!
【解决方案2】:

您的查询可能类似于 -

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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-15
    • 1970-01-01
    • 2012-09-04
    • 2012-02-07
    • 1970-01-01
    • 2015-09-04
    相关资源
    最近更新 更多