Помощь с SELECT - PullRequest
       35

Помощь с SELECT

0 голосов
/ 27 августа 2011

У меня есть три таблицы: hosting_pack, hosting_attr и hosting_attr_value.

В одной хостинговой категории может быть много хостинг-пакетов и много хостинг-атрибутов.

Чтобы узнать значение_хостинга, мы должны знать пакет_хостинга и хоста_открытия, поэтому пакет_производства хоста содержит информацию о пакете, атрибуты хостинга_аттр содержат значения каждого атрибута в одном пакете.

Описывается следующим образом:

enter image description here

Я хочу отобразить таблицу следующим образом:

hosting_attr,          hosting_attr_value ,           for a given id_hosting_pack

Примечание: связь между hosting_categ и hosting_attr не существует, просто проигнорируйте ее.

Ответы [ 3 ]

1 голос
/ 27 августа 2011
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
1 голос
/ 27 августа 2011

Попробуйте:

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.

1 голос
/ 27 августа 2011

Попробуйте:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...