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

时间:2018-06-25 01:38:19

标签: mysql sql group-by having

如果商店只有1个company_id,我有以下查询来插入数据。如果已经有2个company_id,我不想插入数据。 逻辑看起来很简单,但是如果有2个或更多company_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 ;

0 个答案:

没有答案