Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL:如果只有一个数据,如何插入数据;如果有多个数据,如何不插入数据_Mysql_Sql_Group By_Having - Fatal编程技术网

Mysql SQL:如果只有一个数据,如何插入数据;如果有多个数据,如何不插入数据

Mysql SQL:如果只有一个数据,如何插入数据;如果有多个数据,如何不插入数据,mysql,sql,group-by,having,Mysql,Sql,Group By,Having,如果商店只有1个公司id,我有以下查询来插入数据。如果已经有2个公司id,我不想插入数据。 逻辑看起来很简单,但如果有2个或更多公司id,我不知道如何防止插入数据。通过以下查询,它将继续插入 数据。我是sql的新手,因此一些示例或提示将非常有帮助!我很想听到你的消息 INSERT INTO customers ( id, name, phone, mail, address ) SELECT company.i

如果商店只有1个公司id,我有以下查询来插入数据。如果已经有2个公司id,我不想插入数据。 逻辑看起来很简单,但如果有2个或更多公司id,我不知道如何防止插入数据。通过以下查询,它将继续插入 数据。我是sql的新手,因此一些示例或提示将非常有帮助!我很想听到你的消息

INSERT INTO customers (
    id, 
      name, 
      phone, 
      mail, 
      address
)
    SELECT 
      company.id, 
      company.name, 
      company.phone, 
      company.mail, 
      company.address, 
    FROM 
      company 
      LEFT JOIN shops ON company.id = shops.id 
    WHERE 
      shops.company_id IN (
        SELECT 
          company.id 
        FROM 
          company 
          LEFT JOIN shops ON company.id = shops.company_id 
        WHERE 
          shops.id IN (1,2,41)
      )
    GROUP BY 
      shops.company_id 
    having 
      count(shops.company_id) >= 1 ;

我有一个下面的查询来插入数据
。。。您向我们显示的查询从数据库中检索数据,但不会插入数据。你说的“插入数据”是什么意思?样本数据和期望的结果会很有帮助。对逻辑的任何解释都会有帮助。需要查看shops表的示例。如果同一公司id可以多次出现在shops表中,则需要:having count(DISTINCT shops.company_id)>=1;