|
Запрос с UNION внутри таблицы
|
|||
---|---|---|---|
#18+
Всем добрый вечер! Есть таблица Clients с тремя полями User, Contact - числовые, DT -дата/время пример: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Из таблицы нужно вычленить подмножество совпадающих пар User/Contact и Contact/User причем нужно отобрать записи с максимальной датой. Например, первое подмножество объединяет записи где User=51, Contact=112 и User=112, Contact=51 причем запрос должен отобрать из этого подмножества запись с максимальной датой: Код: plaintext 1.
Составил следующий запрос, который вроде как выбирает совпадающие пары: Код: sql 1. 2. 3. 4. 5. 6.
но вот задать фильтрацию по дате пока не получается :( Прошу Вашей помощи, подскажите как такое можно реализовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2017, 21:50 |
|
Запрос с UNION внутри таблицы
|
|||
---|---|---|---|
#18+
Если правильно понял... Miko_v, попробуйте запрос Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2017, 22:14 |
|
Запрос с UNION внутри таблицы
|
|||
---|---|---|---|
#18+
mds_world, спасибо за помощь, по дате отфильтровывает, но в выборку попадают лишние записи у которых нет перекрестно совпадающих пар (см. скрин-шот). ( например запись Код: plaintext
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2017, 22:50 |
|
Запрос с UNION внутри таблицы
|
|||
---|---|---|---|
#18+
mds_world, В любом случае спасибо Вам большое! Вы мне очень помогли - вместо таблицы Clients я указал свой запрос, который отбирает пары подмножеств, а дальше уже вашим запросом отбираются записи с максимальной датой. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2017, 23:00 |
|
Запрос с UNION внутри таблицы
|
|||
---|---|---|---|
#18+
Miko_vmds_world, спасибо за помощь, по дате отфильтровывает, но в выборку попадают лишние записи у которых нет перекрестно совпадающих пар (см. скрин-шот). ( например запись Код: plaintext
Код: plaintext
Код: sql 1. 2. 3. 4. 5. 6. 7.
:) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2017, 23:14 |
|
Запрос с UNION внутри таблицы
|
|||
---|---|---|---|
#18+
mds_world, хотя все же есть некоторые несоответствия когда выполняю это на реальных данных: например вместо Код: plaintext
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2017, 23:17 |
|
Запрос с UNION внутри таблицы
|
|||
---|---|---|---|
#18+
Miko_vmds_world, хотя все же есть некоторые несоответствия когда выполняю это на реальных данных: например вместо Код: plaintext
Код: plaintext
если важен порядок цифр в парах, попробуйте так Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2017, 23:43 |
|
Запрос с UNION внутри таблицы
|
|||
---|---|---|---|
#18+
guest_rusimport, это походу то что нужно! Спасибо Вам большое! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2017, 00:24 |
|
Запрос с UNION внутри таблицы
|
|||
---|---|---|---|
#18+
guest_rusimport, а можно еще один вопрос - в результате работы запроса получилась выборка из Clients с совпадающими датами. Теперь мне нужно связать эту выборку (назовем ее SC) с другой таблицей Mails у которой идентичная структура. Но выбрать нужно следующее (но уже без фильтрации даты) из таблицы Mails: 1. совпадения пар в таблице Mails, которые есть в SC WHERE SC.User = Mails.User AND SC.Contact = Mails.Contact 2. случай, когда в таблице Mails есть только User-ы, которые есть в SC WHERE SC.User = Mails.User 3. случай, когда в таблице Mails есть только Contact-ы, которые есть в SC AND SC.Contact = Mails.Contact подскажите пожалуйста, а то уже совсем запутался. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2017, 22:34 |
|
Запрос с UNION внутри таблицы
|
|||
---|---|---|---|
#18+
Miko_v, Прокоментируйте пожалуйста запросы: 1-й случай, совпадающие пары: Код: sql 1. 2. 3.
2-й случай: Код: sql 1. 2. 3.
3-й случай: Код: sql 1. 2. 3.
прошу ваших советов! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2017, 23:17 |
|
Запрос с UNION внутри таблицы
|
|||
---|---|---|---|
#18+
Miko_v, прошу прощения попутал в запросах - написал SF вместо SC. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2017, 23:35 |
|
Запрос с UNION внутри таблицы
|
|||
---|---|---|---|
#18+
Miko_v ...Теперь мне нужно связать эту выборку (назовем ее SC) с другой таблицей Mails у которой идентичная структура... стесняюсь спросить: а зачем в БД две одинаковые таблицы? Может стоит в первую добавить флажок/флажки(или поле/поля) а вторую удалить нахфиг (глядишь и связывать будет нечего) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2017, 00:23 |
|
Запрос с UNION внутри таблицы
|
|||
---|---|---|---|
#18+
sdkuMiko_v ...Теперь мне нужно связать эту выборку (назовем ее SC) с другой таблицей Mails у которой идентичная структура... стесняюсь спросить: а зачем в БД две одинаковые таблицы? Может стоит в первую добавить флажок/флажки(или поле/поля) а вторую удалить нахфиг (глядишь и связывать будет нечего) ... зачем две таблицы - хороший вопрос :) об этом долго рассказывать, вкратце: есть два массива с почти идентичными данными, но каждая из таблиц отображает разный вид деятельности. И добавлять в моем случае флажки не вариант. Т.е. задача состоит именно в том чтобы написать запросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2017, 09:39 |
|
Запрос с UNION внутри таблицы
|
|||
---|---|---|---|
#18+
Miko_vMiko_v, Прокоментируйте пожалуйста запросы: 1-й случай, совпадающие пары: Код: sql 1. 2. 3.
2-й случай: Код: sql 1. 2. 3.
3-й случай: Код: sql 1. 2. 3.
прошу ваших советов! не совсем понял, что же , всё-таки, нужно ... возможно это ? Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2017, 00:18 |
|
Запрос с UNION внутри таблицы
|
|||
---|---|---|---|
#18+
guest_rusimport не совсем понял, что же , всё-таки, нужно ... возможно это ? Код: sql 1. 2.
по логике соединений скорее всего да, но запрос не отрабатывает, выдает окно: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2017, 11:21 |
|
Запрос с UNION внутри таблицы
|
|||
---|---|---|---|
#18+
Miko_v, пока что пользуюсь таким вот объединением запросов: Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2017, 11:25 |
|
Запрос с UNION внутри таблицы
|
|||
---|---|---|---|
#18+
Miko_vguest_rusimport не совсем понял, что же , всё-таки, нужно ... возможно это ? Код: sql 1. 2.
по логике соединений скорее всего да, но запрос не отрабатывает, выдает окно: Код: plaintext 1.
возможно, если вы скопировали запрос с форума , где-то "закрались" русские буквы... попробуйте перенабрать запрос заново ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2017, 11:27 |
|
Запрос с UNION внутри таблицы
|
|||
---|---|---|---|
#18+
Miko_vMiko_v, пока что пользуюсь таким вот объединением запросов: Код: 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.
так у вас и нет никакого Mails.Contact , у вас оказывается Mails.Owner , поэтому и параметр запрашивает :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2017, 11:33 |
|
Запрос с UNION внутри таблицы
|
|||
---|---|---|---|
#18+
guest_rusimport, Да, Вы правы, перенабрал запрос и все заработало! Спасибо Вам большое!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2017, 11:39 |
|
|
start [/forum/topic.php?fid=45&msg=39379320&tid=1612833]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
87ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 343ms |
total: | 526ms |
0 / 0 |