[英]How to create new field in view with some offset (field of table) from existing field (another field of table)?
我有Contracts
表:
CREATE TABLE `Contracts` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`supplier_id` INT(11) NOT NULL,
`shop_id` INT(11) NOT NULL,
`conclusionDate` DATE NOT NULL,
`period` INT(11) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT `FK_Contracts_Shop` FOREIGN KEY (`shop_id`) REFERENCES `shop` (`id`),
CONSTRAINT `FK_Contracts_Suppliers` FOREIGN KEY (`supplier_id`) REFERENCES `suppliers` (`id`)
)
我想創建這樣的東西:
SELECT
c.id,
s.name as supplierName,
c.conclusionDate,
c.conclusionDate+year(c.period) as cancelDate,
c.period
FROM
Contracts as c
INNER JOIN
Suppliers as s
ON
s.id = c.supplier_id
這是我目前的觀點代碼。 結果,我想要這樣的行,其中取消日期是從結論日期( conclusionDate
日期字段-日期類型)偏移了幾年( period
字段-int類型)的日期。
昨天,我看到了這樣的示例,但現在找不到了:(請幫助我。
預期成績:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ id + supplierName + conclusionDate + cancelDate + period +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 + bob1 + 2014-05-05 + 2015-05-05 + 1 +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 + bob2 + 2014-01-01 + 2018-05-05 + 4 +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 + bob3 + 2012-08-03 + 2017-08-03 + 5 +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
這應該工作。
ADDDATE(c.conclusionDate, INTERVAL c.period YEAR) as cancelDate,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.