|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Есть табица с данными: +---------+-------+ | id1 | id2 | +---------+-------+ | 1 | 1 | | 1 | 2 | | 1 | 3 | | 1 | 4 | | 1 | 5 | | 2 | 7 | | 2 | 8 | | 2 | 9 | | 3 | 1 | | 3 | 10 | | 3 | 11 | | 3 | 12 | | 3 | 13 | | 3 | 14 | | 4 | 1 | | 4 | 6 | | 4 | 12 | | 4 | 15 | | 4 | 16 | | 4 | 17 | +---------+-------+ Как из нее выбрать значения id1 у которых id2 = 1,2,3,4,5 ??? Другими словами, чтобы получить id1=1 (только у него есть все числа из id2) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2004, 15:20 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
присоединяюсь к вопросу. правда у меня ответ есть Код: plaintext 1. 2.
только он мне не нравится ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2004, 15:33 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Этот запрос у меня ничего не выдал! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2004, 15:39 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
select count(*) as shit from table where id2 in (1,2,3,4,5) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2004, 15:40 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Sergey P. еще нужно отобрать где каунт равно количеству искомых id2! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2004, 15:41 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
cid я где-то ошибся наверно... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2004, 15:42 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
feed Большое спасибо я разобрался :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2004, 15:47 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
но это плохое решение! всегда будет вся таблица просматриваться. если таблица большая, то будет тормозить. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2004, 15:58 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
лучше в хранимой процедуре отобрать сначала все у кого id2=1, потом из них отбросить у кого id2<>2 и т.п. (рекурсивная ХП) Только в моське нет ХП! а на php клиенте - те же тормоза имхо ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2004, 16:10 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Ну за неимением лучшего, пока и это сгодится у меня он отрабатывает за 0,3-0,4 сек. при 12000 записях в таблице. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2004, 16:10 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
я к крутым пошел с этим вопросом... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2004, 18:35 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
если есть индекс id2-id1 - и наш сервер сможет так, я уверен ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2004, 18:50 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
cid запость, пожалуйста, describe своей таблицы и explain того запроса. интересно! зы. про ХП я сморозил ерунду... ну отстал я, отстал! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 12:20 |
|
Помогите с запросом
|
|||
---|---|---|---|
#18+
Киев 2 fedd Ну описание таблицы такое: CREATE TABLE Katalog_PropValue( katalog_id INTEGER NOT NULL, propv_id INTEGER NOT NULL, PRIMARY KEY (katalog_id,propv_id) ) ; select k.katalog_id,k.kat_name, count(*) as shit from Katalog_PropValue kp INNER JOIN Katalog k ON (kp.katalog_id = k.katalog_id) where kp.propv_id IN (1,2,3,4, 5,14) group by kp.katalog_id having shit = 6 Explain таков: | table | type | possible_keys | key | key_len | ref | rows | Extra | +--------+--------+---------------+--------+---------+--------+--------+----- 1 строка | kp | range | PRIMARY,ind_kat_id,ind_kat_pv_id| ind_kat_pv_id| 4 | [NULL] | 11061 | Using where; Using temporary; Using filesort| 2 строка | k | eq_ref | PRIMARY,ind_katalog_id| PRIMARY| 4 | kp.katalog_id| 1 | | Время выполнения 0,46 сек. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2004, 18:11 |
|
|
start [/forum/topic.php?fid=47&fpage=694&tid=1855501]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 311ms |
total: | 430ms |
0 / 0 |