help with SQL join

Поиск
Список
Период
Сортировка
От Neil Stlyz
Тема help with SQL join
Дата
Msg-id 731864.9447.qm@web113701.mail.gq1.yahoo.com
обсуждение исходный текст
Ответы Re: help with SQL join  (John R Pierce <pierce@hogranch.com>)
Список pgsql-general
Hello,
 
I need help with the an advanced SQL JOIN. I think that I can get this accomplished with a LEFT JOIN... perhaps some of you may be able to offer guidance in this... I appreciate any suggestions you may have.
 
 
Consider the following SQL statement:
 
 
SELECT customerid, count(disctint count1) AS "TODAYS_USERS",
count(distinct count2) AS "LAST 7 DAYS" ,
count(distinct count3) AS "LAST 30 DAYS" FROM
(SELECT distinct case when modified >= '2010-02-11' then modelnumber else null end as count1,
   case when modified >= '2010-02-04' then modelnumber else null end as count2,
   case when modified >= '2010-01-11' then modelnumber else null end as count3, customerid
   FROM sales WHERE modelnumber LIKE 'GH77%')
   AS results GROUP BY results.customerid
 
 
Now, the above SQL query retrieves results that will look something like this:
 
 
 customerid    |  TODAYS_USERS   |   LAST 7 DAYS    |   LAST 30 DAYS
 bigint            |  bigint                         |   bigint                    |   bigint
----------------------------------------------------------------------
 8699         |  1                                  |   1                          |   1
 8700         |  1                                  |   12                        |   17
 8701         |  3                                  |   5                          |   19


Now... here is the problem I am having... the above SQL query is retrieving results from one table: sales
I have another table called customers with a couple of fields (customerid, and customername are two of the fields).
I want to join on the customerid in both tables to retrieve the customername in the query.
So I need the results to look something like this:
 
customerid        |        customername        |        TODAYS_USERS        |        LAST 7 DAYS        |        LAST 30 DAYS
bigint                |        varchar                   |        bigint                              |        bigint                        |        bigint
--------------------------------------------------------------------------------------------------------------------------------
8699                |         Joe Smith              |        1                                    |        1                               |        1
8700                |         Sara Olson            |        1                                    |        12                             |        17
8701                |         Mike Jones           |        3                                     |        5                               |       19
 
Can someone show me how to use a JOIN with the above SQL Statement? I need to bring the customername field into the query from the other table and I have been having issues writting the query... can this even be done?
 
Thanks,
Neil
 

В списке pgsql-general по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: pg_dump superflous warning message
Следующее
От: Koichi Suzuki
Дата:
Сообщение: Bug on pg_lesslog