Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Объединение в рамках одной таблицы
 
 автор: babilonian   (05.06.2014 в 17:21)   письмо автору
 
 

Здравствуйте. Помогите с объединением запросов:

1. Таблица признаков вещи
ID признака | Признак
1           | Цвет
2           | Длинна
3           | Объём


2. Таблица значений признаков
ID Значения   | ID признака | Значение
100           | 1           | Розовый
100           | 2           | 10 метров
100           | 3           | 2 литра
200           | 1           | Голубой
300           | 2           | 3 метра
400           | 1           | Голубой


Нужно вывести все значения признаков, если есть признак "Длинна". То есть, в итоге должно получится:

100: 10 метров, Розовый, 2 литра
300: 3 метра
То есть, связующее звено - ID признака. Что-то не разберусь никак( Спасибо!

  Ответить  
 
 автор: ubahuba   (07.06.2014 в 00:30)   письмо автору
 
   для: babilonian   (05.06.2014 в 17:21)
 

А зачем объединять? Одним запросом можно обойтись:

SELECT id значения, значение FROM таблица значений признаков WHERE id признака = 1;

  Ответить  
 
 автор: Trianon   (07.06.2014 в 12:38)   письмо автору
 
   для: babilonian   (05.06.2014 в 17:21)
 

tables:
props (id_p, prop)
propvals (id_g, id_p, val)



SELECT @idp := id_p FROM props WHERE prop = 'длинна';

SELECT id_g, GROUP_CONCAT(VAL, ORDER BY id_p, SEPARATOR ', ')
  FROM propvals 
  GROUP BY id_g
  HAVING MIN(ABS(id_p, @idp)) = 0 ;

  Ответить  
 
 автор: Igorek   (09.06.2014 в 18:16)   письмо автору
 
   для: babilonian   (05.06.2014 в 17:21)
 

если структура как в предыдущем комменте:
<?
SELECT id_g
GROUP_CONCAT(val ORDER BY id_p SEPARATOR ', ')
FROM propvals
WHERE id_g IN 
(
    
SELECT DISTINCT id_g
    FROM propvals
    WHERE id_p 
= (
        
SELECT id_p
        FROM props
        WHERE prop 
'Length'
    
)
)
GROUP BY id_g

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования