|
вывод одинаковых записей вместе с дублями
|
|||
---|---|---|---|
#18+
Добрый вечер. Помогите пожалуйста составить запрос. Имеется таблица с несколькими полями. В одном значения повторяются. Нужно вывести все записи, где это значение повторяется, причем со всеми дублями. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 16:28 |
|
вывод одинаковых записей вместе с дублями
|
|||
---|---|---|---|
#18+
сделала так [code]with x as (select tpr, pan, count(*) over (partition by pan) as c ; from unr) select tpr, pan from x where c > 1[code], но vpf 6.0 не знает такой команды... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 16:35 |
|
вывод одинаковых записей вместе с дублями
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 18:10 |
|
вывод одинаковых записей вместе с дублями
|
|||
---|---|---|---|
#18+
ВладимирМ, вывести не просто записи, которые повторяются в поле (при order by having выводится просто запись, которая повторяется несколько раз), а вывести эту запись вместе с дублями. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 19:46 |
|
вывод одинаковых записей вместе с дублями
|
|||
---|---|---|---|
#18+
А по ссылке пройти не судьба? Там именно ответ на этот вопрос и дан. Разумеется, если у таблицы есть уникальны идентификатор записи. Ну, грубо, это запрос, который отбирает записи по факту существования хотя бы еще одной записи с тем же реквизитами (exists()), но у которой значение ключевого поля (Primary Key, если так будет понятнее) отлично от значения текущей записи. Не подсчет общего количества, а просто факт наличия хотя бы еще одной. А то, что это будет "другая" запись как раз и определяется по ключевому полю Если у таблицы нет уникального идентификатора записи (это грубейшее нарушение структуры данных, но в старых базах так делали), то придется делать через 2 запроса. Сначала найти дубли через Having, потом используя результат этого запроса искать сами записи. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2018, 16:36 |
|
вывод одинаковых записей вместе с дублями
|
|||
---|---|---|---|
#18+
ВладимирМЕсли у таблицы нет уникального идентификатора записи (это грубейшее нарушение структуры данных, но в старых базах так делали), то придется делать через 2 запроса. Сначала найти дубли через Having, потом используя результат этого запроса искать сами записи. вот именно это мне и надо! спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2018, 08:12 |
|
вывод одинаковых записей вместе с дублями
|
|||
---|---|---|---|
#18+
ВладимирМ, можно я Вас еще спрошу? сделала так: Код: sql 1.
, все получилось. как вывести из этого следующее: если хотя бы у одной из повторяющейся записи в поле pan есть A, то не выводить эту запись вообще (вместе с дублями)? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2018, 09:31 |
|
вывод одинаковых записей вместе с дублями
|
|||
---|---|---|---|
#18+
Подсчитать количество записей, у которых в поле pan есть А. Отобрать только те группы, где это количество равно нулю Но поскольку в рамках count() такой функциональности нет, то вопрос подсчета решается через sum(iif(...)). Примерно так Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2018, 12:01 |
|
вывод одинаковых записей вместе с дублями
|
|||
---|---|---|---|
#18+
Скобки не там поставил и немного с синтаксисом напутал Код: sql 1. 2. 3. 4. 5. 6. 7.
В FoxPro внутри команды SQL можно использовать нативные функции FoxPro. В частности, функцию Like() у которой как раз звездочки вместо процентов ставятся. Вот и перепутал Т.е. можно еще так Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2018, 12:10 |
|
|
start [/forum/topic.php?fid=41&fpage=8&tid=1581712]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
105ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 300ms |
total: | 491ms |
0 / 0 |