Re: Help writing a piece of SQL

Поиск
Список
Период
Сортировка
От Nigel Bishop
Тема Re: Help writing a piece of SQL
Дата
Msg-id 72558D9A7573814BB4082A28843E03D402658B13@intyodc01.uk.ioko365.com
обсуждение исходный текст
Ответ на Help writing a piece of SQL  ("Nigel Bishop" <Nigel.Bishop@ioko.com>)
Список pgsql-sql
Thanks for that Richard, it's almost what I'm after:

So where the un and dm exist then return 1 row

Where the un doestn't exist and dm does then return all sendtos' where
the dm exists not just where the un='*'

I hope that makes sense.

Thanks for you help


Nigel Bishop
ioko
T:  +44 (0)1904 435 458
M:  +44 (0)7881 624 386
F:  +44 (0)1904 435 450
E:  nigel.bishop@ioko.com
W:  www.ioko.com
-----Original Message-----
From: Richard Huxton [mailto:dev@archonet.com]
Sent: 03 February 2006 11:02
To: Nigel Bishop
Cc: pgsql-sql@postgresql.org
Subject: Re: [SQL] Help writing a piece of SQL

Nigel Bishop wrote:
>
>      username     |            domain         |            sendto
>
+-------------+-------------------------------+-------------------------
> -----
>
>  Postmaster       | intthit08.uk.rabbit.com   | root
>  root             | intthit08.uk.rabbit.com   | is-unix@rabbit.com
>  stoat.griffin    | trusting.co.uk            |
stoat.griffin@rabbit.com
>  stoat.griffin    | trusting.com              |
stoat.griffin@rabbit.com
>  stoat.griffin    | rusty.co.uk               |
stoat.griffin@rabbit.com
>  stoat.griffin    | rusty.com                 |
stoat.griffin@rabbit.com

>  *                | trusting.com              | rusty@rabbit.com
>  *                | trusting.co.uk            | rusty@rabbit.com
>  *                | rusty.co.uk               | rusty@rabbit.com
>  *                | rusty.com                 | rusty@rabbit.com

> The query will have the username and domain passed in as variables.
> If the username and domain exist then return the sendto
> The bit I'm struggling with is if the username doesn't exist then
return
> the sendto where the domain exists
>
> e.g.  username=fred (this doesn't exist) and domain=rusty.com then
> return rusty@rabbit.com, matilda.clematis@rabbit.com,
> stoat.griffin@rabbit.com

So: if the username doesn't exist then you return ALL rows with a
matching domain? Not just username="*"?

I'm guessing I've mis-understood and you just want username="*", which
would be something like this:

SELECT sendto, 1 AS priority FROM tbl WHERE username=$1 AND domain=$2
UNION ALL
SELECT sendto, 2 AS priority FROM tbl WHERE username='*' AND domain=$2
ORDER BY priority
LIMIT 1;

Does that help at all?
--   Richard Huxton  Archonet Ltd


Communications on or through ioko's computer systems may be monitored or recorded to secure effective system operation
andfor other lawful purposes. 

Unless otherwise agreed expressly in writing, this communication is to be treated as confidential and the information
init may not be used or disclosed except for the purpose for which it has been sent. If you have reason to believe that
youare not the intended recipient of this communication, please contact the sender immediately. No employee is
authorisedto conclude any binding agreement on behalf of ioko with another party by e-mail without prior express
writtenconfirmation. 

ioko365 Ltd.  VAT reg 656 2443 31. Reg no 3048367. All rights reserved.


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

Предыдущее
От: Richard Huxton
Дата:
Сообщение: Re: Help writing a piece of SQL
Следующее
От: Niklas Johansson
Дата:
Сообщение: Re: Help writing a piece of SQL