0
В каждой таблице есть номер игрока. Я хочу получить все столбцы из всех таблиц в одном результате. То есть например, для ежедневной строки все столбцы из других таблиц 0. Как это:MySQL: выберите все из нескольких таблиц
Таблицы:
CREATE TABLE `daily` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`playerNumber` varchar(255) DEFAULT '',
`benchpress` varchar(255) DEFAULT '');
CREATE TABLE `weekly` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`playerNumber` varchar(255) DEFAULT '',
`sprint40y` varchar(255) DEFAULT '',
`sprint20y` varchar(255) DEFAULT '');
CREATE TABLE `monthly` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`playerNumber` varchar(255) DEFAULT '',
`verticalJump` varchar(255) DEFAULT '',
`sprint300y` varchar(255) DEFAULT '',
`ldrill` varchar(255) DEFAULT '');
SQL запросов:
SELECT *
FROM
daily d,weekly w,monthly m
LEFT JOIN
daily d.playerNumber ON (d.playerNumber = w.playerNumber) AND daily d.playerNumber ON (d.playerNumber = m.playerNumber)
UNION
SELECT *
FROM
daily d,weekly w,monthly m
RIGHT JOIN
daily d.playerNumber ON (d.playerNumber = w.playerNumber) AND daily d.playerNumber ON (d.playerNumber = m.playerNumber)
Как правило, лучше всего обрабатывать проблемы отображения данных в уровне представления/на уровне прикладного уровня (например, PHP), если это доступно. Так или иначе, на этот вопрос уже был дан ответ уже тысячу раз. – Strawberry
... хотя, я не могу себе представить, почему вам нужно 3 отдельных строки в этом экземпляре?!?!? – Strawberry
Потому что в ежедневной таблице много записей для каждого игрока и только несколько в таблице за месяц. – Kewitschka