|
|
|
|
|
для: .heed
(10.01.2010 в 14:12)
| | мне нравится твое чувство юмора ;)
Но вот, ответь мне, почему ты не подсказал что-то типа такого:
SELECT * FROM `table1`
LEFT JOIN `table2` ON table1.id = table2.id
GROUP BY table1.id
LIMIT 0 , 20;
|
? | |
|
|
|
|
автор: .heed (10.01.2010 в 14:12) |
|
|
для: kosta_in_net
(09.01.2010 в 00:05)
| | если делать так чтобы сильно грузило сервер ,) то вот-так например можно придумать
CREATE TABLE `par` (
`id` TINYINT AUTO_INCREMENT,
`titl` TINYTEXT,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
CREATE TABLE `chil` (
`id` SMALLINT AUTO_INCREMENT,
`par_id` TINYINT,
`txt` TINYTEXT,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
INSERT INTO par VALUES
(NULL, "раз"),
(NULL, "два"),
(NULL, "три"),
(NULL, "четыре");
INSERT INTO chil VALUES
(NULL, 1, "1_раз"),
(NULL, 1, "2_раз"),
(NULL, 2, "1_два"),
(NULL, 2, "2_два"),
(NULL, 2, "3_два"),
(NULL, 2, "4_два"),
(NULL, 3, "1_три"),
(NULL, 5, "1_пять"),
(NULL, 5, "2_пять"),
(NULL, 1, "3_раз");
SELECT a.id, a.titl, b.txt
FROM chil b LEFT JOIN par a
ON a.id = b.par_id
WHERE a.id
GROUP BY a.id, b.id
HAVING
IFNULL(@x, @x := a.id) AND IFNULL(@z, @z := 1) AND
IF(@x = a.id
, ((@z := (1+@z)) AND @z < 4)
, ((@x := a.id) AND @z := 1));
DROP TABLE par;
DROP TABLE chil;
|
можно ещё хранимые процедуры или VIEW'ы делать | |
|
|
|
|
|
|
|
для: kosta_in_net
(09.01.2010 в 02:57)
| | heed (08.01.2010 в 02:02) оказался прав абсолютно. | |
|
|
|
|
|
|
|
для: Trianon
(09.01.2010 в 02:37)
| | чё-то я залудил. Имел в виду по 3 записи для каждой записи из таблицы 1 | |
|
|
|
|
|
|
|
для: kosta_in_net
(09.01.2010 в 00:05)
| | не понял, что означает "выбрать по полю (по три поля)"
Но наверное возможно. Если аккуратно. | |
|
|
|
|
|
|
|
для: Trianon
(08.01.2010 в 15:46)
| | а если усложнить задачу? Если нужно не по одному полю выбрать, а по три (к примеру). Такое возможно? | |
|
|
|
|
|
|
|
для: Diplex
(08.01.2010 в 23:09)
| | не спеши с выводами. | |
|
|
|
|
|
|
|
для: Diplex
(08.01.2010 в 23:09)
| | Он не ноет, а извиняется за то, что может чт0-то неправильно понять. | |
|
|
|
|
|
|
|
для: kosta_in_net
(08.01.2010 в 11:00)
| | > прошу понять меня правильно, но по некоторым причинам сейчас я не могу нормально сосредоточится, я даже нормально выспаться не могу
и здесь нытики... как Вас много стало... всегда у Вас вечные проблемы, и всё через одно место... | |
|
|
|
|
|
|
|
для: kosta_in_net
(08.01.2010 в 11:00)
| | там оба варианта - один с группировкой, другой - без.
Выспаться следует в первую очередь.
Изучать SQL на уставшую голову смысла нет никакого. | |
|
|
|
|