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




MySQL.RU - Webboard



Вернуться
Какая-то загадка а не запрос... (paladi) 07/09/2005 - 16:56:01
      Re: ибо сие есть слово со скрижали мануальной (Alec) 07/09/2005 - 17:31:21
      Re: а как же быть? (paladi) 07/09/2005 - 17:49:01
      Re: а как же быть? (Alec) 07/09/2005 - 18:29:11
      Re: а как же быть? (paladi) 07/09/2005 - 18:37:59
      Re: а как же быть? (Dinky) 07/09/2005 - 18:51:35
      Re: так оно и есть (paladi) 07/09/2005 - 19:02:42
      Re: так оно и есть (Dinky) 07/09/2005 - 20:03:00
      Re: от Вашего запроса тот же результат (paladi) 08/09/2005 - 10:39:46
      Re: атвет (Dinky (feat. by Alec) 08/09/2005 - 20:53:23
      Re: * ПОЛНОЕ РАСКРЫТИЕ ТЕМЫ ! * (Dinky (send by Alec)) 08/09/2005 - 20:58:33

> Original message text:
> From: paladi - 07/09/2005 - 16:56:01
> Subject:Какая-то загадка а не запрос...
> -----------------
> Есть таблица в базе:
> +----+-----------+--------------+-----------+---------------------+------+
> | id | tender_id | id_materiala | user | date | cena |
> +----+-----------+--------------+-----------+---------------------+------+
> | 1 | 1 | 1 | UseRkYtxg | 2005-09-07 11:42:54 | 500 |
> | 2 | 1 | 2 | UseRkYtxg | 2005-09-07 11:42:54 | 600 |
> | 3 | 1 | 2 | admin | 2005-09-07 11:43:36 | 450 |
> | 4 | 1 | 1 | admin | 2005-09-07 12:00:10 | 450 |
> | 5 | 1 | 2 | admin | 2005-09-07 12:00:34 | 460 |
> | 6 | 1 | 2 | admin | 2005-09-07 12:00:54 | 300 |
> | 7 | 1 | 1 | admin | 2005-09-07 12:01:10 | 450 |
> | 8 | 1 | 1 | admin | 2005-09-07 12:01:34 | 300 |
> +----+-----------+--------------+-----------+---------------------+------+
> пишу вот такой запрос
> mysql> select tender_id,id_materiala,user,MIN(cena) from table3 where tender_id='1' group by id_materiala;
> +-----------+--------------+-----------+-----------+
> | tender_id | id_materiala | user | MIN(cena) |
> +-----------+--------------+-----------+-----------+
> | 1 | 1 | UseRkYtxg | 300 |
> | 1 | 2 | UseRkYtxg | 300 |
> +-----------+--------------+-----------+-----------+
>
> как это понять почему он показывает не того пользователя?? что я не так написал?? спасибо
>
>


From: Dinky (send by Alec) - 08/09/2005 - 20:58:33
Subject:* ПОЛНОЕ РАСКРЫТИЕ ТЕМЫ ! *
-----------------
part1:
правильно будет так: проходя по списку товаров в цикле дергать запросом
SELECT user, cena
FROM table
WHERE id_materiala=...
ORDER BY cena
LIMIT 1;
part2
Но если хочецца поизвращацца, то можно сделать тройным вложенным запросом :)
==========
mysql> select * from user;
+------+--------+
| u_id | u_name |
+------+--------+
| 1 | Vasya |
| 2 | Petya |
| 3 | Masha |
+------+--------+
3 rows in set (0.10 sec)

mysql> select * from tovar;
+------+---------+
| t_id | t_name |
+------+---------+
| 1 | tovar 1 |
| 2 | tovar 2 |
| 3 | tovar 3 |
+------+---------+
3 rows in set (0.04 sec)

mysql> select * from price;
+------+------+------------+-------+
| t_id | u_id | p_date | p_val |
+------+------+------------+-------+
| 1 | 1 | 2005-09-01 | 1 |
| 2 | 1 | 2005-09-01 | 2 |
| 3 | 1 | 2005-09-01 | 3 |
| 1 | 2 | 2005-09-02 | 2 |
| 2 | 2 | 2005-09-02 | 3 |
| 3 | 2 | 2005-09-02 | 4 |
| 1 | 3 | 2005-09-03 | 2 |
| 2 | 3 | 2005-09-03 | 3 |
| 3 | 3 | 2005-09-03 | 4 |
+------+------+------------+-------+
9 rows in set (0.00 sec)

mysql> select t_id, u_id, p_val from price
-> where u_id = (select u_id from price where t_id=price.t_id order by p_val limit 1);
+------+------+-------+
| t_id | u_id | p_val |
+------+------+-------+
| 1 | 1 | 1 |
| 2 | 1 | 2 |
| 3 | 1 | 3 |
+------+------+-------+
3 rows in set (0.00 sec)

mysql> select t_name, u_name, sq.p_val
-> from (select t_id, u_id, p_val from price
-> where u_id = (select u_id from price where t_id=price.t_id order by p_val limit 1)
-> ) sq
-> inner join user on sq.u_id=user.u_id
-> inner join tovar on sq.t_id=tovar.t_id;
+---------+--------+-------+
| t_name | u_name | p_val |
+---------+--------+-------+
| tovar 1 | Vasya | 1 |
| tovar 2 | Vasya | 2 |
| tovar 3 | Vasya | 3 |
+---------+--------+-------+
3 rows in set (0.07 sec)
==========

Enjoy!
--
Dmitry

----
я тут, в частности, просто чтобы отослать креатифф ))


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

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

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



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