| | |
SQL Group By Postcode Area
Please support our MS SQL advertiser: Intel Parallel Studio Home
Thread Solved |
Hi i am wondering if anyone has a solution for sorting by postcode area. I wanted to be able to pick off either the First letter or first two letters and group by this.
I have figured out how to group by the first to characters of the postcode using Left(x,2) but i wanted to be able to pick out the numeric values if there are any in this subsequent string from the left fuction.
i.e. if the postcode has "L1", i just want "L", or if postcode has "CH", i want "CH". Then to be grouped by these.
Anyone have any ideas?
Thanks
I have figured out how to group by the first to characters of the postcode using Left(x,2) but i wanted to be able to pick out the numeric values if there are any in this subsequent string from the left fuction.
i.e. if the postcode has "L1", i just want "L", or if postcode has "CH", i want "CH". Then to be grouped by these.
Anyone have any ideas?
Thanks
Sorry, didnt take into account american readers.
UK post codes have letters and number in them and range from 5 characters to 8, it usually takes the form 1 or 2 letters, plus 2 or 3 numbers plus 2 more letters. ie "xx00 0xx" or "x0 00xx" or "xx00x 0xx"
I really just want to identify the first 1 or 2 letters before it finds any numeric values.
Many thanks
UK post codes have letters and number in them and range from 5 characters to 8, it usually takes the form 1 or 2 letters, plus 2 or 3 numbers plus 2 more letters. ie "xx00 0xx" or "x0 00xx" or "xx00x 0xx"
I really just want to identify the first 1 or 2 letters before it finds any numeric values.
Many thanks
Solved it!! But just for anyone else in the UK who is wanting the same solution without spending most of the day trying to trial and error their way through, use the following code:
You must also use this CASE statement in the SELECT area, for all those who havent yet learnt aggregate's.
SQL Syntax (Toggle Plain Text)
GROUP BY CASE WHEN ISNUMERIC(RIGHT(LEFT(C.Pcode,2),1)) = '0' THEN LEFT(C.pcode,2) ELSE LEFT(C.pcode,1) END
You must also use this CASE statement in the SELECT area, for all those who havent yet learnt aggregate's.
Try something like
finish the substring part. I'm on my phone and non alpha chars are hard to use
sql Syntax (Toggle Plain Text)
(CASE WHEN code LIKE '[a-Z][a-Z]%' THEN SUBSTRING 2 ELSE SUBSTRING one END)
finish the substring part. I'm on my phone and non alpha chars are hard to use
![]() |
Similar Threads
- error "Could not open a connection to SQL Server" (MS SQL)
- Install : SQL Server Business Intelligence Development Studio (MS SQL)
- Populating a datagrid with dynamic SQL (ASP.NET)
- sql server beginner (MS SQL)
- Problem with accessing MSSQL database (C#)
- sql server unable to open connection (ASP.NET)
- SQL Data into Textbox or Listbox (C#)
- SQL/XML Query (XML, XSLT and XPATH)
- mssql walkthrough (MS SQL)
- grouping unique name in table (MS SQL)
Other Threads in the MS SQL Forum
- Previous Thread: auto increment the record value in database when the button clicks
- Next Thread: SQL QUERY FOR THIS ? Please Help to solve this problem .
| Thread Tools | Search this Thread |






