У меня есть база данных с вакансиями, компаниями и зарплатами, которые содержат суммы, которые каждая компания оплачивает сотрудникам в каждой задаче. Каждая компания, работа и зарплата связаны с опросом. Я хотел бы что-то выход для обследования, чтобы выглядеть следующим образом:Как создать кросс-таблицу MySQL с NULL
| |Company A|Company B|Company C|
+------+---------+---------+---------+
|Job A | 34000 | 36750 | 41000 |
|Job B | 65880 | | 67000 |
|Job C | | 52340 | 49000 |
пустые клетки являются те, где нет никаких записей в таблице Зарплаты соответствие компании к работе.
У меня возникли проблемы с пониманием примеров кросс-таблицы, которые я видел в Интернете. Я думаю, что я должен создать набор данных, который включает в себя строку для каждой комбинации, в том числе нулей, как это:
Company A | Job A | 34000
Company A | Job B | 65880
Company A | Job C | NULL
Company B | Job A | 36750
Company B | Job B | NULL
Company B | Job C | 52340
Company C | Job A | 41000
Company C | Job B | 67000
Company C | Job C | 49000
Я бег этого запроса для создания вышеуказанных строк, и это работает нормально:
SELECT C.companyname, J.jobtitle, S.salary FROM Companies C INNER JOIN Jobs J
ON (C.surveyid=J.surveyid) LEFT JOIN Salaries S
ON (J.jobid=S.jobid and C.companyid=S.companyid)
ORDER BY C.companyname, J.jobtitle
Вы можете увидеть здесь: http://sqlfiddle.com/#!2/91e49/12/0
Теперь, когда я получаю правильные данные, как я превратить это в кросс-таблице?
Можете ли вы установить [SQL Fiddle] (http://sqlfiddle.com/) с образцовыми наборами данных? Если вы хотите включить значения «NULL», они просто должны быть «LEFT JOIN» на ненулевом значении. – doublesharp
Так что, возможно, я недопонимаю «ЛЕВАЯ ВСТУПЛЕНИЕ» вообще - я хочу, чтобы там были значения NULL, когда в таблице зарплат нет соответствующей записи. Я пойду проверить SQL Fiddle ... Я только когда-либо использовал JS Fiddle, поэтому я предполагаю, что это похоже. – iopener
@iopener. , , Я смущен тем, что вы просите. Ваш вопрос касается перекрестной закладки. Ваш запрос и последующие комментарии касаются недостающих строк в соединениях. Можете ли вы предоставить некоторые примеры данных и желаемый результат? –