Quanto à primeira questão, eu não tenho nenhum problema em usar o
DB::select pra fazer a subquery, só queria saber se existe algum jeito de
fazer a mesma coisa com o ORM, não faz muito tempo que eu uso o Kohana e
não sei se existe forma melhor de fazer o que eu faço, mas com o DB::select
funciona de boa.

Quanto a segunda questão, eu precisava fazer uma query como a desse link

http://dev.mysql.com/doc/refman/5.0/en/example-maximum-column-group-row.html

Mais especificamente algo bem parecido com essa query:

SELECT s1.article, dealer, s1.price
FROM shop s1
JOIN (
  SELECT article, MAX(price) AS price
  FROM shop
  GROUP BY article) AS s2
  ON s1.article = s2.article AND s1.price = s2.price;


Eu nem pensei em usar a clausa WHERE, mas acho que com WHERE funciona do
mesmo jeito.

Muito obrigado pela atenção,

Atenciosamente,
Douglas Santos.



Em 28 de novembro de 2012 19:14, felipe bastos <[email protected]>escreveu:

> Douglas, uma correcao ..
>
> Join ...... On .......
>
> Where ....... and .......
>
> No mais .. veja se é possivel ... orm::factory().select(tb1.*,
> tb2.*).from().join().where().find_all() .. nao lembro se é possivel.
>
> Mas, encare o ORM como um mapeamento. Se seu mapeamento tras o resultado
> de 2 tabelas, ja pensou em criar uma view no banco e usar o orm so pra
> consultas?
>
> E, nao veja usar DB como um problema. Ele serve para isso .. o orm é
> apenas uma camada superior a DB
>  Em 28/11/2012 15:54, "Douglas Fonseca dos Santos" <
> [email protected]> escreveu:
>
> Bom dia a todos,
>>
>> Estou encontrando um problema para fazer umas query's no Kohana 3.2.
>>
>> Primeiro, eu preciso fazer uma subquery, gostaria de saber se existe uma
>> forma usando apenas o ORM (sem utilizar o DB::select).
>>
>> Segundo, existe alguma forma de se fazer um AND no ON de um JOIN (tipo
>> SELECT * FROM table1 INNER JOIN table2 ON table1.campo1 = table2.campo1 *
>> AND* table1.campo2 = table2.campo2).
>>
>> Agradeço a atenção,
>>
>> Atenciosamente,
>> Douglas Santos.
>>
>> --
>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>> Php" dos Grupos do Google.
>> Para ver esta discussão na web, acesse
>> https://groups.google.com/d/msg/kohana-php/-/RwKyW2lBJ4YJ.
>> Para postar neste grupo, envie um e-mail para [email protected]
>> .
>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>> [email protected].
>> Para obter mais opções, visite esse grupo em
>> http://groups.google.com/group/kohana-php?hl=pt-BR.
>>
>  --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
> Php" dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para [email protected].
> Para cancelar a inscrição nesse grupo, envie um e-mail para
> [email protected].
> Para obter mais opções, visite esse grupo em
> http://groups.google.com/group/kohana-php?hl=pt-BR.
>

-- 
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos 
Grupos do Google.
Para postar neste grupo, envie um e-mail para [email protected].
Para cancelar a inscrição nesse grupo, envie um e-mail para 
[email protected].
Para obter mais opções, visite esse grupo em 
http://groups.google.com/group/kohana-php?hl=pt-BR.

Responder a