SQL: как вставить данные, если есть только одни данные, и не вставить, если их больше одного - PullRequest
0 голосов
/ 25 июня 2018

У меня следующий запрос для вставки данных, если в магазине есть только 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 ;
...