sqlite3 ,请教这个视图该如何写?

自由建客 2011-06-07 07:39:56
-- 厂家表
CREATE TABLE Vender (
Id INTEGER PRIMARY KEY AUTOINCREMENT,
Name CHAR( 32 ) NOT NULL
UNIQUE,
Show BOOLEAN NOT NULL
DEFAULT ( TRUE )
);

-- 产品类型表
CREATE TABLE ProductType (
Id INTEGER PRIMARY KEY AUTOINCREMENT,
Name CHAR( 32 ) NOT NULL
UNIQUE
);

-- 产品表
CREATE TABLE Product (
Id INTEGER PRIMARY KEY AUTOINCREMENT,
V_Id INTEGER NOT NULL
REFERENCES Vender ( Id ) ON DELETE NO ACTION
ON UPDATE CASCADE,
PT_Id INTEGER NOT NULL
REFERENCES ProductType ( Id ) ON DELETE NO ACTION
ON UPDATE CASCADE,
Show BOOLEAN NOT NULL
DEFAULT ( TRUE ),
UNIQUE ( V_Id, PT_Id )
);

-- 产品价格表
CREATE TABLE ProductValue (
P_Id INTEGER NOT NULL
REFERENCES Product ( Id ) ON DELETE NO ACTION
ON UPDATE CASCADE,
Value NUMERIC NOT NULL,
Date DATE NOT NULL,
UNIQUE ( P_Id, Date )
);

现在要一个视图显示
厂家名,产品类型名,最新报价,定价日期
...全文
362 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2011-06-08
  • 打赏
  • 举报
回复
自由建客 2011-06-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wwwwb 的回复:]

什么问题
[/Quote]
在二楼解决了,开始不懂搞。散分!
wwwwb 2011-06-08
  • 打赏
  • 举报
回复
什么问题
north_zou 2011-06-08
  • 打赏
  • 举报
回复
最近刚刚开始学习SQLITE3.
自由建客 2011-06-08
  • 打赏
  • 举报
回复
-- 产品视图
CREATE VIEW ProductView AS
SELECT Tmp.Id,
Vender.Name AS Vender,
ProductType.Name AS Type,
Tmp.Value,
Tmp.Date,
Tmp.Show
FROM (
SELECT P.Id,
P.V_Id,
P.PT_Id,
V.Value,
max( V.Date ) AS Date,
P.Show
FROM Product AS P,
ProductValue AS V
WHERE P.Id = V.P_Id
GROUP BY P.Id
)
AS Tmp,
Vender,
ProductType
WHERE Tmp.V_Id = Vender.Id
AND
Tmp.PT_Id = ProductType.Id;
自由建客 2011-06-07
  • 打赏
  • 举报
回复
忘了,还有个字段,应该是要
厂家名,产品类型名,最新报价,定价日期,显示与否
显示与否字段取决于 Product.Show ,并不影响管理,只影响订单中客户是否可选购。

2,209

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧