Rudy,

Thank you.   That worked superbly as you said.   I had worked away at this
and then following Bj's suggestion, but had not gained clarity from the
manual.  I think in testing with Bj's support I had used double quotes;  it
seems the syntax here is single quotes.   In the course of testing all the
oprions I think I dropped the separator itself!    :-(

This is so far away from the SQL method that without help (at this stage of
learning certainly) there is almost no way of working it out.   I didn't
grasp previously that the separator was the first term in quotes.   It even
works with 'coalesce' in!

Well, it's painful, but I may be getting more understanding of how the code
works than if going through the book had been smooth.   I console myself
with that, anyway.

Joseph

> > as you advised a few days ago
>
> i'm sorry, i probably misled you
>
> i said  "CONCAT defaults to comma-separated"
>
> i was flat out wrong
>
> sorry, it happens occasionally (and still too frequently for my liking)
>
> CONCAT does not default to comma-separated, it uses *no* separator
>
>
> then i suggested
>
> > CONCAT_WS "with separator" lets you specify the character to use, and in
> my
> > example, the character was empty, i.e. no character --
> >
> >     concat_ws(''
> >         , coalesce(col1,'')
> >         , coalesce(col2,'')
> >         , coalesce(col3,'')
> >              )
>
> this is still correct, although the COALESCEs may not be necessary
>
> there are two additional benefits of using CONCAT_WS over CONCAT
>
>   -- nulls are automatically skipped!
>
>   -- you can use a string of length greater than 1, e.g. comma space
>
>
> here's the sample -- tested, this time, so i know it works
>
>
> create table smilepoet
> ( id tinyint not null primary key auto_increment
> , cust_name    varchar(20)
> , cust_address varchar(20)
> , cust_city    varchar(20)
> , cust_state   varchar(2)
> , cust_zip     varchar(10)
> , cust_country varchar(10)
> );
>
> insert
>   into smilepoet
> ( cust_name
> , cust_address
> , cust_city
> , cust_state
> , cust_zip
> , cust_country )
> values
>  ('curly','123 main st','eureka','KS','12345','USA')
> ,('larry','456 pine st','nyawk','NY','10101-0101','USA')
> ,('moe','789 sesame st','Columbus','OH','43333','USA')
> ,('tom','123 main st',NULL,'KS','12345','USA')
> ,('dick','456 pine st','nyawk',NULL,'10101-0101','USA')
> ,('harry','789 sesame st','Columbus','OH',NULL,'USA')
>
> select cust_name
>      , cust_address  AS cust_address1
>      , concat_ws(', '
>                , cust_city
>                , cust_state
>                , cust_zip
>                 )   AS cust_address2
>      , cust_country AS cust_address3
>   from smilepoet
>
> cust_name  cust_address1  cust_address2  cust_address3
> curly   123 main st     eureka, KS, 12345      USA
> larry   456 pine st     nyawk, NY, 10101-0101  USA
> moe     789 sesame st   Columbus, OH, 43333    USA
> tom     123 main st     KS, 12345              USA
> dick    456 pine st     nyawk, 10101-0101      USA
> harry   789 sesame st   Columbus, OH           USA
>
>
>
> rudy


____ � The WDVL Discussion List from WDVL.COM � ____
To Join wdvltalk, Send An Email To: mailto:[EMAIL PROTECTED] 
       Send Your Posts To: [EMAIL PROTECTED]
To set a personal password send an email to [EMAIL PROTECTED] with the words: "set 
WDVLTALK pw=yourpassword" in the body of the email.
To change subscription settings to the wdvltalk digest version:
    http://wdvl.internet.com/WDVL/Forum/#sub

________________  http://www.wdvl.com  _______________________

You are currently subscribed to wdvltalk as: [EMAIL PROTECTED]
To unsubscribe send a blank email to [EMAIL PROTECTED]

To unsubscribe via postal mail, please contact us at:
Jupitermedia Corp.
Attn: Discussion List Management
475 Park Avenue South
New York, NY 10016

Please include the email address which you have been contacted with.

Reply via email to