Вставьте в выборку из разных таблиц при обновлении ключа SIMILAR - PullRequest
0 голосов
/ 06 ноября 2019

Итак, у меня есть этот запрос, который обновляет дубликат ключа и составляет среднее значение из другой таблицы

    INSERT INTO maintable (NomeSquadra, Nazione, Campionato, DateTime, `1`, `X`, `2`)
    SELECT NomeSquadra,
           Nazione,
           Campionato,
           DateTime,
           AVG(NULLIF(`1`, 0)) AS `1`,
           AVG(NULLIF(`X`, 0)) AS `X`,
           AVG(NULLIF(`2`, 0)) AS `2`
    FROM
      (SELECT NomeSquadra,
              Nazione,
              Campionato,
              DateTime,
              `1`,
              `X`,
              `2`
       FROM snai3
       UNION ALL SELECT NomeSquadra,
                        Nazione,
                        Campionato,
                        DateTime,
                        `1`,
                        `X`,
                        `2`
       FROM b888) AS subquery
    GROUP BY NomeSquadra ON DUPLICATE KEY
    UPDATE `1`=
    VALUES(`1`),
          `X`= VALUES(`X`),
                     `2`= VALUES(`2`)

Есть ли способ обновить аналогичный ключ вместо дубликата ключа?

Моя проблема в том, что вместо того, чтобы иметь одну строку с именем, которое у меня есть 3. Я хочу, чтобы он вставлял одну строку в ключ "NomeSquadra" и в среднем 1, X, 2

+------------------------------+--------------+----------------+------------+------+------+------+
| NomeSquadra                  | Nazione      | Campionato     | Datetime   | 1    | X    | 2    |
+------------------------------+--------------+----------------+------------+------+------+------+
| Tottenham - Sheffield UTD    | Inghilterra  | Premier League | 2019-11-09 | 1.25 | 2.01 | 3.15 |
| Tottenham - Sheffield        | Inghilterra  | Premier League | 2019-11-09 | 1.26 | 2    | 3.21 |
| Tottenham - Sheffield United | Inghilterra  | Premier League | 2019-11-09 | 1.21 | 1.97 | 3.17 |
+------------------------------+--------------+----------------+------------+------+------+------+

Я не знаю, возможно ли это, я искал везде, но не могу найти решение

...