Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Строки -> Столбцы (Илья) 15/12/2005 - 14:04:30
      Re: Строки -> Столбцы (Dinky) 15/12/2005 - 17:08:38
      Re: Строки -> Столбцы (Илья) 15/12/2005 - 21:06:45
      Re: Строки -> Столбцы (Dinky) 15/12/2005 - 23:12:02
      Re: Строки -> Столбцы (Илья) 15/12/2005 - 23:51:33
      Re: Строки -> Столбцы (Dinky) 16/12/2005 - 01:19:18
      Re: Строки -> Столбцы (Илья) 16/12/2005 - 13:48:45
      Re: вариант со вложенными запросами (Dinky) 16/12/2005 - 19:52:22
      Re: вариант со stored function (Dinky) 16/12/2005 - 19:59:23

> Original message text:
> From: Илья - 15/12/2005 - 14:04:30
> Subject:Строки -> Столбцы
> -----------------
> Существует ли какой-нибудь адекватный способо получить из двух таблиц:
> tbl1
> itemID | name
> 1 | Яблоко
> 2 | Картина
> 3 | Стол
>
> tbl2
> itemID | propID | name
> 1 | 1 | Цвет
> 1 | 2 | Вес
> 2 | 3 | Цена
> 2 | 4 | Автор
>
> Используя один запрос, такой ответ:
> itemID | propID1 | propID2
> 1 | Цвет | Вес
> т.е. кол-во столбцов заранее не известно.
> Такое вообще возможно?
>


From: Dinky - 16/12/2005 - 19:59:23
Subject:вариант со stored function
-----------------
mysql> delimiter //
mysql> CREATE FUNCTION `get_prop`(id int, pid int) RETURNS char(10)
-> BEGIN
-> DECLARE prop char(10);
-> declare continue handler for not found set prop = 'n/a';
-> SELECT val2 INTO prop FROM t2 WHERE id1=id AND id2=pid;
-> RETURN prop;
-> END//
Query OK, 0 rows affected (0.90 sec)

mysql> select id1, val1, get_prop(id1,1) as color, get_prop(id1,2) as weight, get_prop(id1,3) as ppl
-> from t1; //
+------+-------+-------+--------+------+
| id1 | val1 | color | weight | ppl |
+------+-------+-------+--------+------+
| 1 | apple | red | 0.2 | n/a |
| 2 | car | blue | 1500 | 5 |
| 3 | house | white | n/a | 10 |
+------+-------+-------+--------+------+
3 rows in set (0.75 sec)

MySQL 5.x required ;)
--
Dmitry


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
25733



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |