|
|
|
Запрос с 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:24 |
|
||
|
Запрос с UNION внутри таблицы
|
|||
|---|---|---|---|
|
#18+
Если правильно понял... Miko_v, попробуйте запрос Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2017, 22:14:22 |
|
||
|
Запрос с UNION внутри таблицы
|
|||
|---|---|---|---|
|
#18+
mds_world, спасибо за помощь, по дате отфильтровывает, но в выборку попадают лишние записи у которых нет перекрестно совпадающих пар (см. скрин-шот). ( например запись Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2017, 22:50:08 |
|
||
|
Запрос с UNION внутри таблицы
|
|||
|---|---|---|---|
|
#18+
mds_world, В любом случае спасибо Вам большое! Вы мне очень помогли - вместо таблицы Clients я указал свой запрос, который отбирает пары подмножеств, а дальше уже вашим запросом отбираются записи с максимальной датой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2017, 23:00:45 |
|
||
|
Запрос с UNION внутри таблицы
|
|||
|---|---|---|---|
|
#18+
Miko_vmds_world, спасибо за помощь, по дате отфильтровывает, но в выборку попадают лишние записи у которых нет перекрестно совпадающих пар (см. скрин-шот). ( например запись Код: plaintext Код: plaintext Код: sql 1. 2. 3. 4. 5. 6. 7. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2017, 23:14:03 |
|
||
|
Запрос с UNION внутри таблицы
|
|||
|---|---|---|---|
|
#18+
mds_world, хотя все же есть некоторые несоответствия когда выполняю это на реальных данных: например вместо Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2017, 23:17:50 |
|
||
|
Запрос с UNION внутри таблицы
|
|||
|---|---|---|---|
|
#18+
Miko_vmds_world, хотя все же есть некоторые несоответствия когда выполняю это на реальных данных: например вместо Код: plaintext Код: plaintext если важен порядок цифр в парах, попробуйте так Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2017, 23:43:17 |
|
||
|
Запрос с UNION внутри таблицы
|
|||
|---|---|---|---|
|
#18+
guest_rusimport, это походу то что нужно! Спасибо Вам большое! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2017, 00:24:29 |
|
||
|
Запрос с 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:04 |
|
||
|
Запрос с UNION внутри таблицы
|
|||
|---|---|---|---|
|
#18+
Miko_v, Прокоментируйте пожалуйста запросы: 1-й случай, совпадающие пары: Код: sql 1. 2. 3. 2-й случай: Код: sql 1. 2. 3. 3-й случай: Код: sql 1. 2. 3. прошу ваших советов! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2017, 23:17:57 |
|
||
|
Запрос с UNION внутри таблицы
|
|||
|---|---|---|---|
|
#18+
Miko_v, прошу прощения попутал в запросах - написал SF вместо SC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2017, 23:35:54 |
|
||
|
Запрос с UNION внутри таблицы
|
|||
|---|---|---|---|
|
#18+
Miko_v ...Теперь мне нужно связать эту выборку (назовем ее SC) с другой таблицей Mails у которой идентичная структура... стесняюсь спросить: а зачем в БД две одинаковые таблицы? Может стоит в первую добавить флажок/флажки(или поле/поля) а вторую удалить нахфиг (глядишь и связывать будет нечего) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2017, 00:23:39 |
|
||
|
Запрос с UNION внутри таблицы
|
|||
|---|---|---|---|
|
#18+
sdkuMiko_v ...Теперь мне нужно связать эту выборку (назовем ее SC) с другой таблицей Mails у которой идентичная структура... стесняюсь спросить: а зачем в БД две одинаковые таблицы? Может стоит в первую добавить флажок/флажки(или поле/поля) а вторую удалить нахфиг (глядишь и связывать будет нечего) ... зачем две таблицы - хороший вопрос :) об этом долго рассказывать, вкратце: есть два массива с почти идентичными данными, но каждая из таблиц отображает разный вид деятельности. И добавлять в моем случае флажки не вариант. Т.е. задача состоит именно в том чтобы написать запросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2017, 09:39:40 |
|
||
|
Запрос с 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:18 |
|
||
|
Запрос с UNION внутри таблицы
|
|||
|---|---|---|---|
|
#18+
guest_rusimport не совсем понял, что же , всё-таки, нужно ... возможно это ? Код: sql 1. 2. по логике соединений скорее всего да, но запрос не отрабатывает, выдает окно: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2017, 11:21:04 |
|
||
|
Запрос с 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:09 |
|
||
|
Запрос с UNION внутри таблицы
|
|||
|---|---|---|---|
|
#18+
Miko_vguest_rusimport не совсем понял, что же , всё-таки, нужно ... возможно это ? Код: sql 1. 2. по логике соединений скорее всего да, но запрос не отрабатывает, выдает окно: Код: plaintext 1. возможно, если вы скопировали запрос с форума , где-то "закрались" русские буквы... попробуйте перенабрать запрос заново ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2017, 11:27:52 |
|
||
|
Запрос с 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:23 |
|
||
|
Запрос с UNION внутри таблицы
|
|||
|---|---|---|---|
|
#18+
guest_rusimport, Да, Вы правы, перенабрал запрос и все заработало! Спасибо Вам большое!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2017, 11:39:22 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=39380005&tid=1612833]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
182ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 480ms |

| 0 / 0 |
