|
|
|
Помогите разобраться с запросом....
|
|||
|---|---|---|---|
|
#18+
Есть таблица _items с товарами Код: plaintext 1. 2. есть так же таблица _item_refs соответствия каждому товару какой-то характеристики Код: plaintext 1. 2. 3. 4. 5. ref_id - это идентификатор свойства товара из таблицы _ref есть еще таблица _ref c этими характеристиками, но она по-моему не нужна для нашего поиска Как сформировать запрос для поиска товара с какими-либо характеристиками Например мы знаем что у товара характеристика 14 пишем SELECT a.item_id, a.res1_id, a.code, a.name FROM _items a INNER JOIN _item_refs b on b.item_id=a.item_id WHERE enable >0 and ref_id=14 все замечательно работает а как быть, каким должен быть запрос если мы знаем две, три или больше характеристик товара Например мы знаем что у товара характеристики с идентификаторами 14,19 и 21 Это товар 1. Но как все-таки должен выглядеть этот запрос и возможно ли это вообще одним запросом сделать Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2005, 11:59 |
|
||
|
Помогите разобраться с запросом....
|
|||
|---|---|---|---|
|
#18+
Как-то сумбурно... Что за "a" в запросе? Что, собственно, нужно-то получить запросом? Товары, для которых ref_id и 14, и 19 и 21? Товары, для которых есть хотя бы один из этих ref? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2005, 13:08 |
|
||
|
Помогите разобраться с запросом....
|
|||
|---|---|---|---|
|
#18+
Нужно получить товары с такими ref_id Не хотя бы с каким-то из этих, а со всеми.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2005, 13:12 |
|
||
|
Помогите разобраться с запросом....
|
|||
|---|---|---|---|
|
#18+
vova1976Нужно получить товары с такими ref_id Не хотя бы с каким-то из этих, а со всеми.... А написать ... and ref_id=14 and ref_id=19 и т.д. что мешает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2005, 13:22 |
|
||
|
Помогите разобраться с запросом....
|
|||
|---|---|---|---|
|
#18+
Welly vova1976Нужно получить товары с такими ref_id Не хотя бы с каким-то из этих, а со всеми.... А написать ... and ref_id=14 and ref_id=19 и т.д. что мешает? не мешает ничего, но в ответ пустота :) вообщем если энды добавлять то не работает, в ответ пустой рекордсет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2005, 13:29 |
|
||
|
Помогите разобраться с запросом....
|
|||
|---|---|---|---|
|
#18+
vova1976 Не хотя бы с каким-то из этих, а со всеми.... Сджойнить надо необходимое число раз: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. или Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2005, 13:53 |
|
||
|
Помогите разобраться с запросом....
|
|||
|---|---|---|---|
|
#18+
М... Трехкратное объединение... Не в качестве критики, но хотелось бы посмотреть на производительность такого запроса на сколько-нибудь существенной базе) (а самому её лепить лень %) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2005, 14:00 |
|
||
|
Помогите разобраться с запросом....
|
|||
|---|---|---|---|
|
#18+
DocAlМ... Трехкратное объединение... Не в качестве критики, А попробуйте сделать по-другому? Ессно, это теоретическое решение, которое, впрочем, с некоторыми модификациями приходится применять на практике - например, для поиска объектов по списку их атрибутов, которые хранятся в отдельной таблице и не известны на стадии разработки. Ничего другого не остается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2005, 14:23 |
|
||
|
Помогите разобраться с запросом....
|
|||
|---|---|---|---|
|
#18+
А если будет несколько товаров, то что должно произойти ? Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2005, 15:54 |
|
||
|
Помогите разобраться с запросом....
|
|||
|---|---|---|---|
|
#18+
можно так попробывать Код: plaintext 1. 2. 3. 4. 5. 6. где cnt = 3 - число идентификаторов для поиска (1,2,3 = 3) -- No microsoft software was used to post this message ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2005, 17:02 |
|
||
|
Помогите разобраться с запросом....
|
|||
|---|---|---|---|
|
#18+
Welly vova1976 Не хотя бы с каким-то из этих, а со всеми.... Сджойнить надо необходимое число раз: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. или Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. thanX... :) работает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2005, 03:45 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=32896868&tid=1854372]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 247ms |
| total: | 413ms |

| 0 / 0 |
