У меня есть таблица product
, и данные приведены ниже.Присоединиться к той же таблице в sql-сервере
id type account_id start_date end_date
1 APPLE 100 2015-01-27 2015-02-25
2 MANGO 100 2015-01-25 2015-02-25
3 GRAPES 100 2015-02-25 2015-04-25
4 MANGO 100 2015-02-25 2015-04-25
5 APPLE 101 2015-03-25 2015-04-25
6 MANGO 101 2015-03-25 2015-04-25
То, что я хочу достичь здесь отфильтровать все записи типа MANGO
на основе account_id
и добавить другие типы, связанные с одной и той же учетной записью на основе end_date
.
Результат должен выглядеть следующим образом.
id type account_id start_date end_date other_types
2 MANGO 100 2015-01-25 2015-02-25 APPLE
4 MANGO 100 2015-02-25 2015-04-25 GRAPES
6 MANGO 101 2015-03-25 2015-04-25 APPLE
Я пробовал следующий запрос по MySQL и работает, но не смог заставить его работать на SQL-сервере. Любая помощь будет большой. Вышеприведенный результат - все, чего мне нужно достичь на SQL-сервере.
SELECT yt1.`id`, yt1.`type`, yt1.`account_id`, yt1.`start_date`, yt1.`end_date`, yt2.`type` AS other_types
FROM `product` yt1, `product` yt2
WHERE
yt1.`account_id` = yt2.`account_id` AND
yt1.`type` = 'MANGO' AND
yt1.`end_date` = yt2.`end_date`
GROUP BY yt1.`id`
Какой должен быть результат, если есть два других типа, связанных с одним и тем же 'account_id' для того же' end_date'? например, если вы добавляете запись APPLE для '100' и' 2015-04-25' – ughai