2015-08-11 3 views
0

Я пытаюсь подсчитать количество продуктов, используемых нашими техникамиобъединить несколько столбцов же таблицы

таблица установки как

count1, size1, count2, размер 2

$sql="select SUM(count1) AS count1, size1, SUM(count2) AS count2, size2 FROM PARTS WHERE crew='$crew' GROUP BY size1 ORDER BY size1 DESC"; 

что работает, но отображается как два отдельных столбца, и мне нужно вручную добавить их вместе. Когда я пробовал:

$sql="select SUM(count1) AS count1, size1, SUM(count2) AS count1, size2 AS size1 FROM PARTS WHERE crew='$crew' GROUP BY size1 ORDER BY size1 DESC"; 

Получать ошибку: Столбец 'size1' в операторе группы неоднозначен. Как я могу продолжить?

+0

вы не можете определить существующее имя столбца с AS, size1 уже существует – CyC0der

+0

Возможно, таблица настроена неправильно – Strawberry

+0

Возможно, это только то, что я работаю с – user3478913

ответ

0

Это вы имеете в виду?

$sql="select SUM(count1 + count2) AS count, size1 FROM PARTS WHERE crew='$crew' GROUP BY size1 ORDER BY size1 DESC"; 
+0

, который работает без ошибок, за исключением ошибок, которые, как представляется, ошибочны – user3478913

0

Если предположить, что обе колонки размера взаимозаменяемы, вы могли бы объединение всех двух запросов каждого размера части, а затем применить sum расчет:

SELECT size, SUM(cnt) 
FROM  (SELECT size1 AS size, count1 AS cnt FROM parts WHERE crew='$crew' 
      UNION ALL 
      SELECT size2 AS size, count2 AS cnt FROM parts WHERE crew='$crew') t 
GROUP BY size 
ORDER BY size DESC 
+0

Я получил ошибку: Ошибка запроса: каждая производная таблица должна иметь свою собственный псевдоним – user3478913

+0

размеры в формате 2x4, 2x6, 4x6 и т. Д. Пример будет ... line1: 2, 2x4, 4, 2x6; line2: 1, 1x4, 2, 2x4; line3: 6, 4x6, 2, 1x4 – user3478913

Смежные вопросы