Php 将数据从源表插入目标表的SQL语句

Php 将数据从源表插入目标表的SQL语句,php,mysql,Php,Mysql,源表有378列,目标表有38列,两者都存储用户数据。假设我的User\u ID=10 在源表中有50多列可以显示我的用户ID 因此,我需要一个脚本来搜索这66列,并将我的用户ID在源表中出现的次数插入到目标表中,记住,无论我的用户ID在该行中出现多少次,1行都将被计为1 目前我有以下脚本: INSERT INTO target_table (matches) SELECT * FROM match_details WHERE player_stats.player_id

源表有378列,目标表有38列,两者都存储用户数据。假设我的
User\u ID=10
在源表中有50多列可以显示我的用户ID

因此,我需要一个脚本来搜索这66列,并将我的用户ID在源表中出现的次数插入到目标表中,记住,无论我的用户ID在该行中出现多少次,1行都将被计为1

目前我有以下脚本:

INSERT INTO target_table (matches)
    SELECT *
    FROM match_details
    WHERE player_stats.player_id IN (col1,col2,col3,col4,col5,col6,col7,col8,col9,col10,col11)
  • 您的模式需要一些工作。您的列不应该是列,它们应该在另一个表中

  • 但是,如果您有一个包含用户ID的表

  • SQL:


    这句话对我来说似乎是矛盾的,“它将搜索这66列,并将我的用户ID在源表中出现的次数插入目标表,记住,无论我的用户ID在该行中出现多少次,1行都将计为1”,您能更好地解释一下吗?,然后输入所需的输出。你的问题从
    开始,源表有378列
    ,我就像o.o?@JuanRuizdeCastilla让我们假设一个表中有10列,从ColA到ColJ。用户ID“10”出现在第一行的A、B、D、G、I&J列中。在第二行中,用户ID“10”仅显示在A列中。在第三行中,用户ID“10”不显示在任何列中。在第四行中,用户ID“10”出现在H&J列中。用户ID的计数应等于3,因为它出现在第1、2和4行中,而不管它在一行的不同列中出现了多少次。完美,例如,在您的情况下,第三行中的其他列发生了什么?空值?或其他值?@JuanRuizdeCastilla其他列可以为null或存储其他用户的ID
    INSERT INTO target_table (user_id, matches)
        SELECT u.id AS user_id, count(*)
        FROM users u
            JOIN match_details m
                ON u.id IN (d.col1, d.col2, d.col3, d.col4, d.col5...)
        GROUP BY user_id