Я использую MySQL и PHP. У меня 2 таблицы.
Первый имеет даты в нем. Эта таблица называется dates
+-------+-------------+----------+---------+ | id | unixTime | month | year | +------------------------------------------+ | 1 | 1443657600 | 10 | 2015 | | | | | | | 2 | 1443657600 | 11 | 2015 | | | | | | | 3 | 1443657600 | 12 | 2015 | | | | | | | 4 | 1443657600 | 01 | 2016 | | | | | | +-------+-------------+----------+---------+
В приведенной ниже таблице будет отображаться запрос SELECT * FROM analytics WHERE clientfk=36
. Есть только 3 записи, потому что клиент № 36 перестает быть клиентом в январе.
Эта таблица называется analytics
+------------------------------------------------+ | id datefk Value clientfk | +------------------------------------------------+ | 156 1 "some value" 36 | | | | 157 2 "another value" 36 | | | | 157 3 "thrid value" 36 | | | +------------------------------------------------+
Я хочу объединить (?) Union (?) Эти таблицы и получить вывод, который выглядит так: (NB, null
значение)
+------------------------------------------------+ | month year client value | +------------------------------------------------+ | 10 2015 36 "Some value" | | | | 11 2015 36 "Another value" | | | | 12 2015 36 "third value" | | | | 1 2016 36 NULL | +------------------------------------------------+
Я попробовал запрос ниже, среди множества других вещей, но всегда либо ничего не возвращает, либо просто 3 строки
SELECT * FROM analytics a WHERE a.clientfk = 36 AND NOT EXISTS (SELECT null FROM dates d WHERE d.id = a.datefk)