我有三个表: hosting_pack、hosting_attr和hosting_attr_value。
一个hosting_category可以有多个hosting_packs和多个hosting_attributes。
要知道hosting_value,我们必须知道hosting_pack和hosting_attribute,所以hosting_pack包含包信息,hosting_attr包含属性,hosting_attr_value包含一个包中每个属性的值。
具体描述如下:

我想要显示一个这样的表:
hosting_attr, hosting_attr_value , for a given id_hosting_pack注意: hosting_categ和hosting_attr之间的关系不存在,忽略它就可以了。
发布于 2011-08-28 00:42:42
试试这个:
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-28 00:43:11
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-28 00:44:22
尝试:
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。
https://stackoverflow.com/questions/7215856
复制相似问题