LINUX.ORG.RU

sql, создание сложного запроса


0

0

ну для меня во всяком случае ;)

есть три таблицы :
descriptitles;  - содержит ссылку на категорию товаров (например ноутбуки), и название характеристики - память 
 
+-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| id    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| catid | int(10) unsigned | NO   |     |         |                |
| name  | varchar(100)     | NO   |     |         |                |
+-------+------------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

descripbehaviour  - содержит ссылку на describtitles и уже конретные характеристики памяти + значение по умолчанию, и параметр измерения, пример: 

descriptid   name     def.val   param
111        частота   666      Mhz

+--------------+------------------+------+-----+---------+
| Field        | Type             | Null | Key | Default |       
+--------------+------------------+------+-----+---------+
| id           | int(10) unsigned | NO   | PRI | NULL    | 
| descriptid   | int(10) unsigned | NO   |     |         |
| name         | varchar(100)     | NO   |     |         |
| defaultvalue | varchar(100)     | NO   |     |         |
| param        | char(20)         | NO   |     |         |
+--------------+------------------+------+-----+---------+

goodbehaviour - уже хар-ка конкретной модели памяти, соотвественно 
ссылка на товар, на конкретную характеристику(descripbehaviour) и значение
пример
 descriptbid      goodid   value
    457            547      533  

+-------------+------------------+------+-----+---------+-------+
| Field       | Type             | Null | Key | Default | Extra |
+-------------+------------------+------+-----+---------+-------+
| goodid      | int(10) unsigned | NO   | MUL |         |       |
| descriptbid | int(10) unsigned | NO   | MUL |         |       |
| value       | varchar(100)     | NO   |     |         |       |
+-------------+------------------+------+-----+---------+-------+

известен goodid, catid
вопрос возможно ли за один запрос получить массив c которым потом будет удобно работать ?
мне нужно вывести
descriptitles.name имя св-ва
{
 descripbehaviour.name goodbehaviour.value(descripbehaviour.defvalue) 
                                   descripbehaviour.param
 ...
 ...
}

у меня получаеться два запроса, один для первый двух таблиц, и другой для последней, но думаю тут можно обойтись одним

что-то второй день ломаю голову не могу придумать ((
хелп, кто сможет ?

ну или просто расскажите какие возможно ошибки я допустил при создании таблицы

СПАСИБО ЗА ОТВЕТЫ !!!


мне лень так много читать. я подскажу саму идею.

select us.user_name, ds.extip, ds.doctetsin, ds.doctetsout from userinfo us, daystat ds where us.user_ip = ds.extip and year(ds.datetime) = #{@date[0]} and month(ds.datetime) = #{@date[1]} and day(ds.datetime) = #{@date[2]}

Либо через join.

paranormal ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.