|
|
|
Условие для выбора без использования join
|
|||
|---|---|---|---|
|
#18+
Есть таблица с баннерами. banner bannerIdname1banner12banner2 У баннеров есть свойства. property propertyIdname1Цвет2Группа У каждого свойства есть список вариантов. property_variant variantIdpropertyIdvalue11синий21красный31зеленый42группа152группа262группа3 При заполнении баннеров ставиться галочка напротив варианта значения свойства. То есть у баннера может быть или не быть какой то ОДИН вариант ОДНОГО свойства. property_variant_relations relationsIdbannerIdvariantId111214322424 Запрос на получение всего что есть: Код: plsql 1. 2. 3. 4. 5. Вернет нам все что есть. Но самое главное для меня это: bannerIdpropnameprop_variant_name1Цветсиний1Группагруппа12Цветкрасный2Группагруппа1 Возможно ли как то поставить условие для того чтобы были выбраны одновременно `Цвет` = синий и `Группа` = группа1? То есть необходимо найти баннеры у которых свойство `Цвет` = синий и `группа` = группа1 На выходе получить bannerIdpropnameprop_variant_name1Цветсиний1Группагруппа1 ВАЖНО!!! Можно ли както получить такой результат без применения JOIN для каждого свойства отдельно? Чтобы в случае когда будет 50 свойств не пришлось делать 50 JOIN ДАМП Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2014, 16:42:40 |
|
||
|
Условие для выбора без использования join
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2014, 16:50:08 |
|
||
|
Условие для выбора без использования join
|
|||
|---|---|---|---|
|
#18+
авторGROUP BY bannerId HAVING SUM((propname,prop_variant_name) IN (('Цвет','синий'),('Группа','группа1'))) = 2 Если сделать HAVING SUM((propname,prop_variant_name) IN (('Цвет','красный'),('Группа','группа1'))) = 2 То запрос тоже сработает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2014, 16:59:25 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38810969&tid=1833917]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 335ms |

| 0 / 0 |
