|
SQL SELECT на М
|
|||
---|---|---|---|
#18+
Критика приветствуется))) Поскольку не силен я в этом... Я знаю, что есть функция $Query, но не знаю как ей правильно пользоваться. Где-то я нашел как можно переделать простой SQL SELECT запрос в М функцию и сделал так... (Надо найти ссылку где я такое нашел!). Задача: SELECT field1,field2,... FROM table WHERE cond1=value1 AND cond2=value2 AND ... Без JOIN, в условиях только AND, в списке полей может быть звездочка - *. Я сделал М функцию: find(table,fields,conditions), fields - через разделитель, conditions - cond, через разделитель: cond - value (Я не знаю как обвернуть правильно М код :(, сделаю его как С++ код) Код: plaintext 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. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93.
Перебор по записям я сделал так как в примере, который я нашел... поищу ссылку... посредством Goto. Мне это не нравится!!!!! Буду разбираться как схожую задачу решил некто Sean Woods здесь: https://github.com/seanwoods/reynard-gtm. И мне не нужны решения ориентированные на Cache, только тру М. Фух. Ангина и 37.8 градусов вынудили меня на это... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2013, 17:26 |
|
SQL SELECT на М
|
|||
---|---|---|---|
#18+
Перейти на NoSql для делания SQL - верх непонятности... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2013, 17:38 |
|
SQL SELECT на М
|
|||
---|---|---|---|
#18+
Сергей, попробуй связаться с этим человеком (Владимир Ильницкий) [email=]v7ilnytskyy@yahoo.com Он как раз модулем MQL и занимался в среде GT.M Были у него и модули - все готовые ! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2013, 17:39 |
|
SQL SELECT на М
|
|||
---|---|---|---|
#18+
krvsaПерейти на NoSql для делания SQL - верх непонятности... Будем отходить от SQL в сторону NoSQL. Эта тема больше относится к тому вопросу с чего начинать. И да, надо отталкиваться от GT.M/Cache/другой NoSQL базы данных. Но увы, пока отталкиваемся от сырого фронтэнда на PHP+MySQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2013, 18:01 |
|
SQL SELECT на М
|
|||
---|---|---|---|
#18+
ValeriuСергей, попробуй связаться с этим человеком (Владимир Ильницкий) [email=]v7ilnytskyy@yahoo.com Он как раз модулем MQL и занимался в среде GT.M Были у него и модули - все готовые ! Спасибо! :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2013, 18:56 |
|
SQL SELECT на М
|
|||
---|---|---|---|
#18+
SergeyLee, Код: sql 1. 2. 3.
Здесь строка If t'=0 Quit "Error~"_t выйдет только из тела цикла. Но это не выход из всей программы. Аналогично и здесь Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Строка If t'=0 Quit "Error~"_t - это выход из тела цикла. "Error~"_t возвращается в никуда :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 09:07 |
|
SQL SELECT на М
|
|||
---|---|---|---|
#18+
Вот посмотрите, что вернет функция Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 09:10 |
|
SQL SELECT на М
|
|||
---|---|---|---|
#18+
Я тут немножко замодернизировал :) По идее логика поменяться не должна. Код: sql 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. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144.
SergeyLee $Query, но не знаю как ей правильно пользоваться. А в чем не понимание? $Query позволяет пройти по всем узлам индексной переменной. Пример Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
в то время как $order позволяет пробежать только по одному узелку. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 10:11 |
|
SQL SELECT на М
|
|||
---|---|---|---|
#18+
П.С.М.Я тут немножко замодернизировал :) По идее логика поменяться не должна. Спасибо. Тоесть отказаться от уровней в пользу меток? Но тогда структура функции рвется, хотя может я просто привык к C++, C#. :) Попробую сейчас на практике. Вот бы сделали (найти, сделать) туториал по типу http://learnyousomeerlang.com/ для MUMPS и GT.M/Cache. Хотя у GT.M и Cache достаточно документации. :) Но не хватает качественного туториала (не для чайников чтобы). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 11:50 |
|
SQL SELECT на М
|
|||
---|---|---|---|
#18+
SergeyLee, тут дело привычки. Я уже привык процедурки делать. ИМХО более читабельно получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 11:53 |
|
SQL SELECT на М
|
|||
---|---|---|---|
#18+
[quot SergeyLee]П.С.М.Но тогда структура функции рвется. Почему рвется? Получается более компактная функция (легчечитаемая :)) сравните Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
или монолитная простыня с кучей всякого ветвления внутри Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Я не настаиваю, что используемый мной подход - это "истина в последней инстанции", просто я так привык и мне так удобнее :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 12:06 |
|
SQL SELECT на М
|
|||
---|---|---|---|
#18+
SergeyLeeКритика приветствуется))) ... И мне не нужны решения ориентированные на Cache, только тру М. Цели должны быть высокие. Вот Вам ориентир: "... автор заявляет, что "наиболее мощной функциональной возможностью языка ConQuer... является го способность выполнять корреляции с произвольным уровнем сложности", и приводит пример: #Работник1 ..+-живет в Городе1 ..+-родился в Стране1 ..+-руководит работой Работника2, который ....+-живет в Гроде1 ....+-родился в Стране2 <> Стране1 Этот запрос означает: "Извлечь данные о сотрудниках, руководящих работой других сотрудников, которые живут в том же городе, что и их руководитель, но родились в другой стране." Автор предлагает сформулировать этот запрос на SQL." Вот это программируйте. Но, опять же, нужно понимать, что за ConQuer стоит технология моделирования - ОРМ (объектно-ролевое моделирование). Кстати, в ОРМ нет понятия свойства. И мы опять приходим к М2:) 13577413 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 16:50 |
|
|
start [/forum/topic.php?fid=39&gotonew=1&tid=1557214]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
156ms |
get topic data: |
11ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 246ms |
total: | 505ms |
0 / 0 |