Помогите с выборкой из таблицы, но с сортировкой по второй таблице.

klax

Новичок
Помогите с выборкой из таблицы, но с сортировкой по второй таблице.

есть 2 таблицы с такими полями:

accounts:
id uin price
1 34 5
2 35 6
3 36 4

packs:
id uin free
1 34 0
2 35 0
3 34 2
4 36 4
5 34 3

Надо сделать запрос, чтобы выбрались все уникальные uin с полем free > 0 из таблицы packs и отсортированные по полю price из таблицы accounts

Т.е. в итоге должно получиться:
36
34

помогите плиз....
 

klax

Новичок
А можно пример строки?
Ну пожалуйста. А то сроки давят... :((
 

zerkms

TDD infected
Команда форума
А то сроки давят
нефиг браться за то, что делать не умеешь, к тому же за деньги
это тебе урок

-~{}~ 21.04.08 00:48:

кстати, ещё GROUP BY + COUNT + HAVING понадобятся вероятно
 

klax

Новичок
Ну и вредные же тут люди...
Я помощи прошу, а они "нефиг браться"...
Да, я новичек в пхп.
Но я не думал, что такое понадобится.

-~{}~ 20.04.08 19:39:

Точнее не в пхп, а в MySQL-е.
 

Beavis

Banned
вместо того чтоб ныть тут, давно бы в мануал заглянул и посмотрел пример... и учись реальные сроки рассчитывать чтоб успевать)
 

Magz

Новичок
Злые вы...
PHP:
SELECT DISTINCT a.uin  
FROM accounts a JOIN 
          packs p ON (p.free > 0 AND a.uin = p.uin)  
ORDER by a.price
 

klax

Новичок
2 Beavis:
В мануал я заглядывал, но как-то у меня фигово получается по мануалу учиться. Я быстрее учусь на примерах.
Т.е. когда мне дают какую-либо строку, а я ее меняю как-нить и смотрю результат. И быстрее запоминается, и практика сразу...

2 Magz:
Спасибо, но я уже нашел способ...
Правда не знаю пока какой лучше.

Вот то, что мне дали:
SELECT * FROM accounts WHERE uin IN (SELECT uin FROM packs GROUP BY uin HAVING SUM(free) > 0) ORDER BY price ASC;
 

Gas

может по одной?
klax
ну придумать такое, когда есть более простые решения - нужно талант иметь.
Magz'а запрос лучше, хотя не люблю я distinct'ты, group by как-то _мне_ понятней.
 

klax

Новичок
Но этот тоже можно использовать?
Если в базе будет около 1 ляма (миллиона) записей, то какой будет быстрее обрабатываться?
 

Breeze

goshogun
Команда форума
Партнер клуба
klax

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