具有可变数目的Attribute的Item集合,如何检索含有指定几个Attribute的Item
具有可变数目的Attribute的Item集合,如何检索含有指定几个Attribute的Item
假如有若干产品
电视机 尺寸28,重量20,价格1000
冰箱 长40,宽80,高150,颜色Red
洗衣机 容积50
我将数据库设计成如下结构
CREATE TABLE tblItem(lngId COUNTER PK, strName TEXT(10) UNIQUE)CREATE TABLE tblAttribute(lngId COUNTER PK,strName TEXT(10) UNIQUE)CREATE TABLE tblItemAttribute(lngIid INTEGER , lngAid Integer)
SELECT tblItem.strName FROM ((tblItem LEFT JOIN tblItemAttribute ON tblItem.lngId=tblItemAttribute.lngIid)LEFT JOIN tblAttribute ON tblItermAttribute.lngAid=tblAttribute.lngId)
select c.*from ((tblItemAttribute a1 inner join tblAttribute b1 on a1.lngAid=b1.lngId and b1.strName='长') inner join (tblItemAttribute a2 inner join tblAttribute b2 on a2.lngAid=b2.lngId and b2.strName='重量') on a1.lngIid=a2.lngIid) inner join tblItem c on a1.lngIid= c.lngId