|
|
|
| У меня есть две таблицы для опредиления груза:
CREATE TABLE 'cargo' (
'id' int(10) unsigned NOT NULL auto_increment,
'company_id' smallint(5) unsigned NOT NULL default '0',
...
'from_id' smallint(5) unsigned NOT NULL default '0',
'to_id' smallint(5) unsigned NOT NULL default '0',
'arch_time' datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY ('id'),
)
|
и
CREATE TABLE 'company' (
'id' smallint(5) unsigned NOT NULL auto_increment,
'name' varchar(70) collate cp1251_ukrainian_ci default NULL,
...
PRIMARY KEY ('id'),
)
|
вторая таблица содержит данные о компании, а первая - о грузе (from_id to_id - id мест откуда и куда был доставлен груз)и связанна с первой по полю company_id.
Мне нужно найти такие грузы, которые были бы доставлены одной и той же компанией и места доставки одинаковы, т.е. поля company_id , from_id, to_id были бы общие | |
|
|
|
|
|
|
|
для: LO
(27.06.2006 в 18:24)
| | SELECT from_id, to_id, company_id, COUNT(id)
FROM cargo
GROUP BY from_id, to_id, company_id
HAVING COUNT(id) > 1 | |
|
|
|
|
|
|
|
для: Trianon
(27.06.2006 в 18:49)
| | Я так делала, но мне хотелось бы чтоб выводились именно все id
так вообще можно сделать? | |
|
|
|
|
|
|
|
для: LO
(27.06.2006 в 19:24)
| | все, а не какие? | |
|
|
|
|
|
|
|
для: Trianon
(27.06.2006 в 19:25)
| | Как-то так:
SELECT id, from_id, to_id, company_id
FROM cargo
JOIN
(SELECT from_id as fd , to_id as td, company_id as cd , COUNT(id) as cnt
FROM cargo
GROUP BY fd, td, cd
HAVING COUNT(id) > 1 ) as t2
ON from_id = fd AND to_id = td AND company_id = cd
|
| |
|
|
|
|
|
|
|
для: Trianon
(27.06.2006 в 19:25)
| | При данном запросе группируются данные по общему признаку и выдается только одна запись на общие товары, например у меня такие данные
id------company_id--------from_id---------to_id
356----3-----------------------7-------------------1
3213--3------------------------7-------------------1
qwe--4------------------------7--------------------1
мне запрос покажет одну строчку(если в начало еще выводить id)
3213--------3---------------7--------------1---------------2
а я бы хотела получить оба id чтоб выдал 356 и 3213 | |
|
|
|
|
|
|
|
для: LO
(27.06.2006 в 19:33)
| | в начало id выводить нельзя. Мало ли что MySql это позволяет. | |
|
|
|
|
|
|
|
для: LO
(27.06.2006 в 19:33)
| | Спасибо огромное
Вы просто гений!!! | |
|
|
|