|
Покиньте идею по SQL-запросу
|
|||
---|---|---|---|
#18+
Доброго вечера всем! Помогите с запросом. Вроде всё просто, но что-то не лезет ничего в голову. Есть некая таблица с номерами. Скажем таблица Table1 с полем InvNum C(18). Есть таблица/курсор TInclude с полем NumMask C(18), куда динамически записывается перечень масок номеров, которые должны попасть в выборку. Маски в формате команды SQL LIKE. Есть таблица/курсор TExclude с полем NumMask C(18), куда динамически записывается перечень масок номеров, которые не должны попасть в выборку. В результирующую выборку должны попасть все записи из Table1, которые удовлетворяют маскам из TInclude и одновременно не удовлетворяют ни одной из масок из TExclude. Вот пример: Код: 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. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48.
Вроде понятно изложил ;) Подкиньте идею... Как еще можно подобный запрос забацать? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2014, 22:08 |
|
Покиньте идею по SQL-запросу
|
|||
---|---|---|---|
#18+
Eaglerus, Блин пропустил буковку в названии темы. А как исправить, не знаю :( ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2014, 22:15 |
|
Покиньте идею по SQL-запросу
|
|||
---|---|---|---|
#18+
EaglerusДоброго вечера всем! -- вот так выбирает 4 записи -- что не есть правильно -- что собственно и ожидалось от такого запроса: -- для каждого совпадения по маске включения -- проверяется каждая маска исключения по-отдельности SELECT a.InvNum FROM Table1 a, TInclude b, TExclude c ; WHERE a.InvNum LIKE ALLTRIM(b.NumMask) ; AND a.InvNum NOT LIKE ALLTRIM(c.NumMask) ; INTO CURSOR curResult2 Т.к. в результат выбирается только одно поле что мешает сделать Код: sql 1. 2. 3. 4. 5.
или Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2014, 05:28 |
|
|
start [/forum/topic.php?fid=41&msg=38829593&tid=1582473]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 139ms |
0 / 0 |