Как организовать запрос?

  • Автор темы Автор темы seva2
  • Дата начала Дата начала

seva2

Партнер PHPClub.ru
Как организовать запрос?

Есмть таблица products в ней есть поле
id и kod

Есть таблица model
id_prod model

Так вот нужно вытаить id тех записей, где количество одинаковых model для одного kod больше одного

То есть если для одной позиции(kod) есть два или больше одинаковых продукта, надо ваыташить их id

Подскажите пожалуйста, как?
 
[sql]select id, kod, model, count(*) as cnt from products inner join model on (model.id_prod = products.id) group by id /* ili kod */, model having cnt > 1[/sql]
 
Wicked

это будет работать, если значения kod уникальны как и id
 
Не работает)
Значение код - не уникально, одному коду может соответствовать несколько позиций

id уникально
 
ну тогда наверное нужно
from products as p1 inner join products as p2 on (p1.kod = p2.kod) inner join model on (p2.id = model.prod_id)
 
Wicked

какие думаешь p1.id попадут в результат запроса при
GROUP BY kod, model ?

-~{}~ 08.06.06 00:27:

seva2

если подзапросы работают, то так
Код:
SELECT DISTINCT p1.*
FROM products p1
, (SELECT id, kod, model, count( * ) AS cnt
  FROM products
  INNER JOIN model ON ( model.id_prod = products.id )
  GROUP BY kod, model
  HAVING cnt > 1) p2
WHERE p1.kod=p2.kod
 
chira
кто говорил, что там все еще идет речь про group by kod, model?

имхо group by p1.id, model там будет смотреться лучше.
 
select model.id_prod from products left join model on product.kod=model.model order by product.kod

а тех кого больше одного вычисляй пхп средствами...
вы бы ему ещё посоветовали бинарник мускуля перебрать и дописать подзапросы... временная таблица... кхм.
 
Барби
select model.id_prod from products left join model on product.kod=model.model order by product.kod
умник, ты вообще-то понял, что сказал?

-~{}~ 09.06.06 15:07:

чем цикл на PHP лучше селекта из временной таблицы?
 
а чем хуже?
или ему масив с айдишниками так для красоты нужен был? и дальнейшие манипуляции с ними не нужны? или он это сделает без цикла?
 
Сверху