0

我有三个表:hosting_pack、hosting_attr 和 hosting_attr_value。

一个hosting_category 可以有许多hosting_packs 和许多hosting_attributes。

要知道hosting_value,我们必须知道hosting_pack 和hosting_attribute,所以hosting_pack 包含pack 信息,hosting_attr 包含属性,hosting_attr_value 包含一个pack 中每个属性的值。

描述如下:

在此处输入图像描述

我想显示这样的表格:

hosting_attr,          hosting_attr_value ,           for a given id_hosting_pack

注意:hosting_categ 和hosting_attr 之间的关系不存在,忽略即可。

4

3 回答 3

1

尝试这个:

select hosting_attr.attr_label, hosting_attr_value.hosting_attr_value from hosting_attr_value, hosting_attr where hosting_attr_value.id_hosting_pack = ? and hosting_attr.id_hosting_attr = hosting_attr_value.id_hosting_attr

如果你不知道id_hosting_pack,你可以在线查找

select hosting_attr.attr_label, hosting_attr_value.hosting_attr_value from hosting_attr_value, hosting_attr where hosting_attr_value.id_hosting_pack = (select id_hosting_pack from hosting_pack where pack_name = ?) and hosting_attr.id_hosting_attr = hosting_attr_value.id_hosting_attr
于 2011-08-27T16:42:42.360 回答
1
select ha.attr_label, hav.attr_value from hosting_attr ha
inner join hosting_attr_value hav on ha.id_hosting_attr = hav.id_hosting_attr
where hav.id_hosting_pack = :theIdOfTheHostingPack
于 2011-08-27T16:43:11.300 回答
1

尝试:

select *
from 
 hosting_pack hp,
 hosting_attr_value hav,
 hosting_attr ha
where
    hp.id_hosting_pack = hav.id_hosting_pack
and hav.id_hosting_attr = ha.id_hosting_attr

是这样吗?

并且还尝试学习一点SQL。

于 2011-08-27T16:44:21.557 回答