|
SQL-зарос: строки с одинаковыми значениями в поле
|
|||
---|---|---|---|
#18+
Добрый день! Такая задачка. Есть например табличка (поля символьные) ----------------------- id | column1 | column2 ----------------------- 1 101 текст1 2 102 текст2 3 102 текст3 4 101 текст4 5 100 текст5 Нужен запрос который выведет только записи с одинаковыми значениями (по полю column1), т.е. тоже самое но в результате не должно быть записи с id=5. Что то никак не могу сообразить. Заранее спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2009, 12:08 |
|
SQL-зарос: строки с одинаковыми значениями в поле
|
|||
---|---|---|---|
#18+
в vfp9 примерно так: select * from mytable where column1 in (select column1, count(*) as cntr from mytable group by 1 having cntr>2) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2009, 12:29 |
|
SQL-зарос: строки с одинаковыми значениями в поле
|
|||
---|---|---|---|
#18+
Все, сам разобрался select * from table t1, ( select column1, count(*) from table group by column1 having count(*)>1) t2 where t1.column1=t2.column1 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2009, 12:30 |
|
SQL-зарос: строки с одинаковыми значениями в поле
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2009, 12:32 |
|
SQL-зарос: строки с одинаковыми значениями в поле
|
|||
---|---|---|---|
#18+
KochegraДобрый день! Такая задачка. Есть например табличка (поля символьные) ----------------------- id | column1 | column2 ----------------------- 1 101 текст1 2 102 текст2 3 102 текст3 4 101 текст4 5 100 текст5 Нужен запрос который выведет только записи с одинаковыми значениями (по полю column1), т.е. тоже самое но в результате не должно быть записи с id=5. Что то никак не могу сообразить. Заранее спасибо Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2009, 12:39 |
|
SQL-зарос: строки с одинаковыми значениями в поле
|
|||
---|---|---|---|
#18+
Погодинв vfp9 примерно так: select * from mytable where column1 in (select column1, count(*) as cntr from mytable group by 1 having cntr>2) Не пойдет. Во внутреннем SELECT-те должна быть только ОДНА колонка, если он используется в условии IN С уважением, Алексей ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2009, 12:42 |
|
SQL-зарос: строки с одинаковыми значениями в поле
|
|||
---|---|---|---|
#18+
Спасибо всем откликнувшимся! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2009, 12:49 |
|
SQL-зарос: строки с одинаковыми значениями в поле
|
|||
---|---|---|---|
#18+
Kochegra, можно ещё и так :-) Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2009, 14:59 |
|
SQL-зарос: строки с одинаковыми значениями в поле
|
|||
---|---|---|---|
#18+
Блин, не могу теперь определить данные для отчета. Запрос создан и работает. Не подскажете как для отчета определить нужный запрос, чтобы данные из запроса брались. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2009, 15:11 |
|
SQL-зарос: строки с одинаковыми значениями в поле
|
|||
---|---|---|---|
#18+
Да, ошибся, вот так работает: select * from mytable where column1 in (SELECT column1 FROM; (select column1, count(*) as cntr from mytable b group by 1 having cntr>1) a) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2009, 15:14 |
|
SQL-зарос: строки с одинаковыми значениями в поле
|
|||
---|---|---|---|
#18+
KochegraБлин, не могу теперь определить данные для отчета. Запрос создан и работает. Не подскажете как для отчета определить нужный запрос, чтобы данные из запроса брались. Надо сохранить результат запроса в курсоре, а затем использовать этот курсор как источник данных для отчета. Вот еще один варинат решения той же задачи Код: plaintext 1. 2. 3.
Вот получившийся курсор curResult и используйте как источник отчета. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2009, 19:06 |
|
SQL-зарос: строки с одинаковыми значениями в поле
|
|||
---|---|---|---|
#18+
ВладимирМ, а нельзя разве как то сразу цепануть запрос? Ведь я его сохранил в проекте как queries под именем query9.qpr (qpx). ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2009, 18:24 |
|
SQL-зарос: строки с одинаковыми значениями в поле
|
|||
---|---|---|---|
#18+
KochegraВладимирМ, а нельзя разве как то сразу цепануть запрос? Ведь я его сохранил в проекте как queries под именем query9.qpr (qpx). Можно, если красота вам не нужна. Открываете Query на редактирование в дизайнер. Затем выбираете пункт меню Query \ Query Destination \ нажать кнопку "Screen", установить переключатель в группе "Secondary Output" в положение "To printer", снять в группе "Options" птичку "Pause beteen screens". Только в таком виде Query будет всегда посылаться на печать, даже если вы этого не хотите. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2009, 19:06 |
|
SQL-зарос: строки с одинаковыми значениями в поле
|
|||
---|---|---|---|
#18+
ВладимирМ, Не подскажете где этот курсор прописывать, в каком методе? Как привязать к отчету? Никак чтото разобраться не могу. Создаю отчет, но не могу найти где вставлять источник данных. Статические таблицы спокойно вставляются. С другими источниками, чтото туговато. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2009, 12:04 |
|
SQL-зарос: строки с одинаковыми значениями в поле
|
|||
---|---|---|---|
#18+
Да не привязывается курсор к отчету. Никак. "Фишка" в том, что отчету все-равно что является источником данных. Таблица или курсор. Просто на момент выполнения отчета эта таблица-источник должна быть открыта. Если источником данных отчета надо сделать курсор, то обычно этот курсор создают ДО выполнения отчета, либо в методе DataEnvironment.BeforOpenTable. Кроме того, в собственно DataEnvironment отчета вообще ничего не должно быть. Никаких таблиц. Все объекты отчета, которые ссылаются на поля, должны иметь в качестве алиаса значение алиаса курсора или вообще ничего. Просто имя поля. В результате имеем Код: plaintext 1. 2.
Все поля отчета, в данном случае, должны иметь алиас curReport Если же вы хотите осуществить именно "привязку к отчету", т.е. добавить объект в DataEnvironment отчета, то вам надо делать не объект Query, а объект Local View или класс CursorAdapter. В этом случае просто добавите эти объекты в DataEnvironment отчета и работаете с ними как с обычными таблицами. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2009, 14:01 |
|
|
start [/forum/topic.php?fid=41&fpage=125&tid=1586381]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 345ms |
total: | 483ms |
0 / 0 |