SQL запрос, help - Форум успешных вебмастеров - GoFuckBiz.com - Страница 3
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB89.7026
BTC/USD67693.3273
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 12.10.2012, 16:23
Start Post: SQL запрос, help 
  #21
Diplomat
Senior Member
 
Аватар для Diplomat
 
Регистрация: 26.10.2009
Сообщений: 597
Бабло: $127864
По умолчанию

MS Access, есть запрос.
Код:
SELECT  ACCOUNT.EMAIL, ACCOUNT.FIRST_NAME, ACCOUNT.LAST_NAME
FROM ACCOUNT INNER JOIN ORDERS ON ACCOUNT.ACCOUNT_ID = ORDERS.FK_ACCOUNT_ID
WHERE (((ACCOUNT.EMAIL) Like "*@*") AND ((ACCOUNT.SEX)=2) AND ((ORDERS.ORDER_ID) Is Not Null));
Как сделать, чтобы выводил только строки с уникальным ACCOUNT.EMAIL ?
Diplomat вне форума  
Старый 13.10.2012, 16:35   #22
Diplomat
Senior Member
 
Аватар для Diplomat
 
Регистрация: 26.10.2009
Сообщений: 597
Бабло: $127864
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от sspy Посмотреть сообщение
попробуй так
Diplomat вне форума  
Старый 13.10.2012, 16:48   #23
sspy
главный злодей гофака
 
Аватар для sspy
 
Регистрация: 18.06.2007
Сообщений: 5,760
Бабло: $953848
По умолчанию

Цитата:
Сообщение от Diplomat Посмотреть сообщение
походу их sql сервер не поддерживает группировку в простом виде, почитай тут http://blogs.office.com/b/microsoft-...in-access.aspx или query designerом сделай выборку
__________________
sspy вне форума  
Старый 13.10.2012, 18:11   #24
iShurin
Юниор
 
Аватар для iShurin
 
Регистрация: 20.05.2011
Сообщений: 9
Бабло: $2280
По умолчанию

Цитата:
Сообщение от sspy Посмотреть сообщение
попробуй так

SELECT count(DISTINCT ACCOUNT.EMAIL), ACCOUNT.FIRST_NAME, ACCOUNT.LAST_NAME, ACCOUNT.SEX
FROM ACCOUNT
WHERE (((ACCOUNT.EMAIL) Like "*@*"))
GROUP BY ACCOUNT.EMAIL
ORDER BY ACCOUNT.EMAIL;
Нельзя в СКЛ помещать одно и тоже поле (ACCOUNT.EMAIL) и в агрегирующие функции и в группировки.

ТС, ты пробовал такой запрос ?
Цитата:
SELECT DISTINCTROW ACCOUNT.EMAIL, ACCOUNT.FIRST_NAME, ACCOUNT.LAST_NAME
FROM ACCOUNT INNER JOIN
(select ORDERS.FK_ACCOUNT_ID from ORDERS
where ORDERS.ORDER_ID Is Not Null
group by ORDERS.FK_ACCOUNT_ID) as TMP_ORDERS
ON ACCOUNT.ACCOUNT_ID = TMP_ORDERS.FK_ACCOUNT_ID
and ((ACCOUNT.EMAIL) Like "*@*")
AND ((ACCOUNT.SEX)=2);
__________________
<welcome>
iShurin вне форума  
Старый 13.10.2012, 18:16   #25
sspy
главный злодей гофака
 
Аватар для sspy
 
Регистрация: 18.06.2007
Сообщений: 5,760
Бабло: $953848
По умолчанию

Offtopic
__________________
sspy вне форума  
Старый 13.10.2012, 18:22   #26
iShurin
Юниор
 
Аватар для iShurin
 
Регистрация: 20.05.2011
Сообщений: 9
Бабло: $2280
По умолчанию

Offtopic
__________________
<welcome>
iShurin вне форума  
Старый 13.10.2012, 18:29   #27
sspy
главный злодей гофака
 
Аватар для sspy
 
Регистрация: 18.06.2007
Сообщений: 5,760
Бабло: $953848
По умолчанию

Offtopic
__________________
sspy вне форума  
Старый 13.10.2012, 20:13   #28
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
По умолчанию

Цитата:
Сообщение от Diplomat Посмотреть сообщение
Внятное ТЗ.
Этот запрос выводит мейлы и столбцы ИМЯ и ФАМИЛИЯ
Задача, чтобы все это выводил. Но мейлы были уникальными(т.е дубли не выводились)
не внятное.
определись, какие строки выбрать из этого:

[email protected] vasya ivanov
[email protected] dima petrov
[email protected] petr vasin
[email protected] kirill dimov
[email protected] dima kirillov
[email protected] ivan ivanov
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Старый 14.10.2012, 01:01   #29
free_style
Senior Member
 
Регистрация: 09.08.2011
Сообщений: 166
Бабло: $45850
По умолчанию

а не проще вывести все мыльники и сторонним софтом почистить ? Хз нах просто надо, конеретно ничо не описывали..
free_style вне форума  
Старый 14.10.2012, 09:02   #30
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
По умолчанию

Цитата:
Сообщение от free_style Посмотреть сообщение
а не проще вывести все мыльники и сторонним софтом почистить ?
если будут условия(агрегирующие функции), то всю чистку можно и нужно делать в sql. Но пока этих условий в топике я не нашел.

еще есть вариант говнокода: вместо вертикальной агрегации - агрегировать горизонтально, т.е. расширить количество колонок, но в общем виде такое на практике не делают, т.к. там будет много left join, а это губительно. Но если заранее посчитать число дублей и оно сравнительно мало, то можно такое делать, получится примерно так:
[email protected] vasya ivanov dima petrov petr vasin
[email protected] kirill dimov dima kirillov ivan ivanov
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума