2

我有商店类型。某些商店类型与其他商店类型不兼容(例如,您不能在食品附近出售汽车零件)。

这是我的表架构:

create table TShopCompatibility
(
idshoptype1 int NOT NULL,
idshoptype2 int NOT NULL,
constraint pkSHOPCOMP primary key(idshoptype1,idshoptype2),
constraint fkSHOPCOMP1 foreign key(idshoptype1) references TShopType(idshoptype),
constraint fkSHOPCOMP2 foreign key(idshoptype2) references TShopType(idshoptype),
constraint cSHOPCOMP12 check(idshoptype1>idshoptype2)
) 

我有这些值:

2 - 1
3  - 1
5  - 1
5  - 2
10  - 9
12  - 11
13  - 10

如何在哪里 id - shoptypes。如何获得与 idshoptype = 2 兼容的商店?

4

1 回答 1

2

您需要选择2idshoptype1 或 idshoptype2 中存在的商店类型,即

SELECT idshoptype1 FROM TShopCompatibility WHERE idshoptype2 = 2
UNION
SELECT idshoptype2 FROM TShopCompatibility WHERE idshoptype1 = 2

然后您可以将此查询的结果与商店表连接以获取商店信息。

于 2012-12-03T02:25:18.577 回答