T-SQL to Select records based on a simple sampling policy

How do I select records that meet this criteria:
The selection must include all the unique values from Columns B & C and min. 10% of the  unique values from Col D. Ideally select the smallest set of data that meets the 3 criteria.

Is this type of Query possible in T-SQL (SQL 2005) ?
Is it possible in any related Microsoft BI tool, SQL 2005 or SQL 2012 ?
ASPDaddyAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

PortletPaulfreelancerCommented:
would you have sample data and expected results?

tip: using real table and field names means you do less "translation"
0
PortletPaulfreelancerCommented:
this is pure speculation, but might prompt some thoughts:
;WITH CTE AS (
              SELECT
                      colB
                    , ColC
                    , ColD
                    , NTILE(10) over (ORDER BY ColD) AS n10
              FROM YourTable
             )
SELECT DISTINCT
        colB
      , ColC
      , NULL AS ColD
FROM CTE

UNION ALL

SELECT DISTINCT
        NULL AS colB
      , NULL AS ColC
      , ColD
FROM CTE
WHERE N10 = 1
;

Open in new window

The results of this might look like this (note the nulls):
COLB      COLC      COLD
1      Guava       (null)
1      Parsnip     (null)
1      Pear        (null)
1      Pineapple   (null)
2      Apple       (null)
2      Beetroot    (null)
2      Carrot      (null)
2      Leek        (null)
2      Potato      (null)
(null) (null)      1
(null) (null)      2

Open in new window

silly data quickly assembled:
CREATE TABLE YourTable
	([ColB] int, [ColC] varchar(9), [ColD] int)
;
	
INSERT INTO YourTable
	([ColB], [ColC], [ColD])
VALUES
	(1, 'Parsnip', 1),
	(1, 'Pear', 2),
	(1, 'Pineapple', 3),
	(1, 'Guava', 4),
	(2, 'Apple', 5),
	(2, 'Beetroot', 6),
	(2, 'Potato', 7),
	(2, 'Leek', 8),
	(2, 'Carrot', 9),
	(1, 'Parsnip', 10),
	(1, 'Pear', 11),
	(1, 'Pineapple', 12),
	(1, 'Guava', 13),
	(2, 'Apple', 14),
	(2, 'Beetroot', 15),
	(2, 'Potato', 16),
	(2, 'Leek', 17),
	(2, 'Carrot', 18)
;

Open in new window

see: http://sqlfiddle.com/#!3/f4381/4
0
ASPDaddyAuthor Commented:
Sample Data:

ColD	CollB         ColC
1768690	MA	3120
1768690	MA	3121
1768690	MA	3122
1768691	MA	3120
1768691	MA	3121
1768691	MA	3122
1768692	MA	3120
1768692	MA	3121
1768692	MA	3122
1768693	MA	3120
1768693	MA	3121
1768693	MA	3122
1768694	MA	3120
1768694	MA	3121
1768694	MA	3122
1768695	MA	3120
1768695	MA	3121
1768695	MA	3122
1768696	MA	3120
1768696	MA	3121
1768696	MA	3122
1768697	MA	3120
1768697	MA	3121
1768697	MA	3122
1768698	MA	3120
1768698	MA	3121
1768698	MA	3122
1768699	MA	3120
1768699	MA	3121
1768699	MA	3122
1768700	MA	3120
1768700	MA	3121
1768700	MA	3122
1768701	MA	3120
1768701	MA	3121
1768701	MA	3122
1768702	MA	3120
1768702	MA	3121
1768702	MA	3122
1768703	MA	3120
1768703	MA	3121
1768703	MA	3122
1768704	MA	3120
1768704	MA	3121
1768704	MA	3122
1768705	MA	3120
1768705	MA	3121
1768705	MA	3122
1768706	MA	3120
1768706	MA	3121
1768706	MA	3122
1785463	MA	3120
1785463	MA	3121
1785463	MA	3122
1791129	MA	3120
1791129	MA	3121
1791129	MA	3122
1768379	MA	3114
1768379	MA	3115
1768379	MA	3116
1768380	MA	3114
1768380	MA	3115
1768380	MA	3116
1768381	MA	3114
1768381	MA	3115
1768381	MA	3116
1767501	BL	3111
1767501	BL	3112
1767501	BL	3113
1767502	BL	3111
1767502	BL	3112
1767502	BL	3113
1767503	BL	3111
1767503	BL	3112
1767503	BL	3113
1767504	BL	3111
1767504	BL	3112
1767504	BL	3113
1767505	BL	3111
1767505	BL	3112
1767505	BL	3113
1767506	BL	3111
1767506	BL	3112
1767506	BL	3113
1767507	BL	3111
1767507	BL	3112
1767507	BL	3113
1767508	BL	3111
1767508	BL	3112
1767508	BL	3113
1767509	BL	3111
1767509	BL	3112
1767509	BL	3113
1767510	BL	3111
1767510	BL	3112
1767510	BL	3113
1767511	BL	3111
1767511	BL	3112
1767511	BL	3113
1767512	BL	3111
1767512	BL	3112
1767512	BL	3113
1767513	BL	3111
1767513	BL	3112
1767513	BL	3113
1767514	BL	3111
1767514	BL	3112
1767514	BL	3113
1767515	BL	3111
1767515	BL	3112
1767515	BL	3113
1767516	BL	3111
1767516	BL	3112
1767516	BL	3113
1767517	BL	3111
1767517	BL	3112
1767517	BL	3113
1767518	BL	3111
1767518	BL	3112
1767518	BL	3113
1767549	JD	3111
1767549	JD	3112
1767549	JD	3113
1767550	JD	3111
1767550	JD	3112
1767550	JD	3113
1767551	JD	3111
1767551	JD	3112
1767551	JD	3113
1767552	JD	3111
1767552	JD	3112
1767552	JD	3113
1767553	JD	3111
1767553	JD	3112
1767553	JD	3113
1767554	JD	3111
1767554	JD	3112
1767554	JD	3113
1767555	JD	3111
1767555	JD	3112
1767555	JD	3113
1767556	JD	3111
1767556	JD	3112
1767556	JD	3113
1767557	JD	3111
1767557	JD	3112
1767557	JD	3113
1767558	JD	3111
1767558	JD	3112
1767558	JD	3113
1767559	JD	3111
1767559	JD	3112
1767559	JD	3113
1767560	JD	3111
1767560	JD	3112
1767560	JD	3113
1767561	JD	3111
1767561	JD	3112
1767561	JD	3113
1767562	JD	3111
1767562	JD	3112
1767562	JD	3113
1767563	JD	3111
1767563	JD	3112
1767563	JD	3113
1767615	BA	3111
1767615	BA	3112
1767615	BA	3113
1767616	BA	3111
1767616	BA	3112
1767616	BA	3113
1767617	BA	3111
1767617	BA	3112
1767617	BA	3113
1768382	MA	3114
1768382	MA	3115
1768382	MA	3116
1768383	MA	3114
1768383	MA	3115
1768383	MA	3116
1768384	MA	3114
1768384	MA	3115
1768384	MA	3116
1768385	MA	3114
1768385	MA	3115
1768385	MA	3116
1768386	MA	3114
1768386	MA	3115
1768386	MA	3116
1768387	MA	3114
1768387	MA	3115
1768387	MA	3116
1768388	MA	3114
1768388	MA	3115
1768388	MA	3116
1768389	MA	3114
1768389	MA	3115
1768389	MA	3116
1767618	BA	3111
1767618	BA	3112
1767618	BA	3113
1767619	BA	3111
1767619	BA	3112
1767619	BA	3113
1767620	BA	3111
1767620	BA	3112
1767620	BA	3113
1767621	BA	3111
1767621	BA	3112
1767621	BA	3113
1767622	BA	3111
1767622	BA	3112
1767622	BA	3113
1767623	BA	3111
1767623	BA	3112
1767623	BA	3113
1767624	BA	3111
1767624	BA	3112
1767624	BA	3113
1767625	BA	3111
1767625	BA	3112
1767625	BA	3113
1767626	BA	3111
1767626	BA	3112
1767626	BA	3113
1767627	BA	3111
1767627	BA	3112
1767627	BA	3113
1767628	BA	3111
1767628	BA	3112
1767628	BA	3113
1767629	BA	3111
1767629	BA	3112
1767629	BA	3113
1767630	BA	3111
1767630	BA	3112
1767630	BA	3113
1767631	BA	3111
1767631	BA	3112
1767631	BA	3113
1767632	BA	3111
1767632	BA	3112
1767632	BA	3113
1767633	BA	3111
1767633	BA	3112
1767633	BA	3113
1767634	BA	3111
1767634	BA	3112
1767634	BA	3113
1767729	AA	3111
1767729	AA	3112
1767729	AA	3113
1767730	AA	3111
1767730	AA	3112
1767730	AA	3113
1767731	AA	3111
1767731	AA	3112
1767731	AA	3113
1767732	AA	3111
1767732	AA	3112
1767732	AA	3113
1767733	AA	3111
1767733	AA	3112
1767733	AA	3113
1767734	AA	3111
1767734	AA	3112
1767734	AA	3113
1767735	AA	3111
1767735	AA	3112
1767735	AA	3113
1767736	AA	3111
1767736	AA	3112
1767736	AA	3113
1767737	AA	3111
1767737	AA	3112
1767737	AA	3113
1767738	AA	3111
1767738	AA	3112
1767738	AA	3113
1767739	AA	3111
1767739	AA	3112
1767739	AA	3113
1767740	AA	3111
1767740	AA	3112
1767740	AA	3113
1767741	AA	3111
1767741	AA	3112
1767741	AA	3113
1767742	AA	3111
1767742	AA	3112
1767742	AA	3113
1767743	AA	3111
1767743	AA	3112
1767743	AA	3113
1767744	AA	3111
1767744	AA	3112
1767744	AA	3113
1767745	AA	3111
1767745	AA	3112
1767745	AA	3113
1767823	AO	3111
1767823	AO	3112
1767823	AO	3113
1767824	AO	3111
1767824	AO	3112
1767824	AO	3113
1767825	AO	3111
1767825	AO	3112
1767825	AO	3113
1767826	AO	3111
1767826	AO	3112
1767826	AO	3113
1767827	AO	3111
1767827	AO	3112
1767827	AO	3113
1767828	AO	3111
1767828	AO	3112
1767828	AO	3113
1767829	AO	3111
1767829	AO	3112
1767829	AO	3113
1767830	AO	3111
1767830	AO	3112
1767830	AO	3113
1767831	AO	3111
1767831	AO	3112
1767831	AO	3113
1767832	AO	3111
1767832	AO	3112
1767832	AO	3113
1767833	AO	3111
1767833	AO	3112
1767833	AO	3113
1767834	AO	3111
1767834	AO	3112
1767834	AO	3113
1767835	AO	3111
1767835	AO	3112
1767835	AO	3113
1767836	AO	3111
1767836	AO	3112
1767836	AO	3113
1767837	AO	3111
1767837	AO	3112
1767837	AO	3113
1767861	SA	3111
1767861	SA	3112
1767861	SA	3113
1767862	SA	3111
1767862	SA	3112
1767862	SA	3113
1767863	SA	3111
1767863	SA	3112
1767863	SA	3113
1767864	SA	3111
1767864	SA	3112
1767864	SA	3113
1767865	SA	3111
1767865	SA	3112
1767865	SA	3113
1767866	SA	3111
1767866	SA	3112
1767866	SA	3113
1767867	SA	3111
1767867	SA	3112
1767867	SA	3113
1767868	SA	3111
1767868	SA	3112
1767868	SA	3113
1767869	SA	3111
1767869	SA	3112
1767869	SA	3113
1767870	SA	3111
1767870	SA	3112
1767870	SA	3113
1767871	SA	3111
1767871	SA	3112
1767871	SA	3113
1767872	SA	3111
1767872	SA	3112
1767872	SA	3113
1767873	SA	3111
1767873	SA	3112
1767873	SA	3113
1767874	SA	3111
1767874	SA	3112
1767874	SA	3113
1767875	SA	3111
1767875	SA	3112
1767875	SA	3113
1767899	BL	3111
1767899	BL	3112
1767899	BL	3113
1767900	BL	3111
1767900	BL	3112
1767900	BL	3113
1767901	BL	3111
1767901	BL	3112
1767901	BL	3113
1767902	BL	3111
1767902	BL	3112
1767902	BL	3113
1767903	BL	3111
1767903	BL	3112
1767903	BL	3113
1767904	BL	3111
1767904	BL	3112
1767904	BL	3113
1767905	BL	3111
1767905	BL	3112
1767905	BL	3113
1767906	BL	3111
1767906	BL	3112
1767906	BL	3113
1767907	BL	3111
1767907	BL	3112
1767907	BL	3113
1767908	BL	3111
1767908	BL	3112
1767908	BL	3113
1767909	BL	3111
1767909	BL	3112
1767909	BL	3113
1767910	BL	3111
1767910	BL	3112
1767910	BL	3113
1767911	BL	3111
1767911	BL	3112
1767911	BL	3113
1767995	BL	3114
1767995	BL	3115
1767995	BL	3116
1767996	BL	3114
1767996	BL	3115
1767996	BL	3116
1767997	BL	3114
1767997	BL	3115
1767997	BL	3116
1767998	BL	3114
1767998	BL	3115
1767998	BL	3116
1767999	BL	3114
1767999	BL	3115
1767999	BL	3116
1768000	BL	3114
1768000	BL	3115
1768000	BL	3116
1768001	BL	3114
1768001	BL	3115
1768001	BL	3116
1768002	BL	3114
1768002	BL	3115
1768002	BL	3116
1768003	BL	3114
1768003	BL	3115
1768003	BL	3116
1768004	BL	3114
1768004	BL	3115
1768004	BL	3116
1794123	BL	3111
1794123	BL	3112
1794123	BL	3113
1767934	AA	3111
1767934	AA	3112
1767934	AA	3113
1767934	AA	3114
1767934	AA	3115
1767934	AA	3116
1767935	AA	3111
1767935	AA	3112
1767935	AA	3113
1767935	AA	3114
1767935	AA	3115
1767935	AA	3116
1767936	AA	3111
1767936	AA	3112
1767936	AA	3113
1767936	AA	3114
1767936	AA	3115
1767936	AA	3116
1767937	AA	3111
1767937	AA	3112
1767937	AA	3113
1767937	AA	3114
1767937	AA	3115
1767937	AA	3116
1767938	AA	3111
1767938	AA	3112
1767938	AA	3113
1767938	AA	3114
1767938	AA	3115
1767938	AA	3116
1767939	AA	3111
1767939	AA	3112
1767939	AA	3113
1767939	AA	3114
1767939	AA	3115
1767939	AA	3116
1767940	AA	3111
1767940	AA	3112
1767940	AA	3113
1767940	AA	3114
1767940	AA	3115
1767940	AA	3116
1767941	AA	3111
1767941	AA	3112
1767941	AA	3113
1767941	AA	3114
1767941	AA	3115
1767941	AA	3116
1767942	AA	3111
1767942	AA	3112
1767942	AA	3113
1767942	AA	3114
1767942	AA	3115
1767942	AA	3116
1767943	AA	3111
1767943	AA	3112
1767943	AA	3113
1767943	AA	3114
1767943	AA	3115
1767943	AA	3116
1767944	AA	3111
1767944	AA	3112
1767944	AA	3113
1767944	AA	3114
1767944	AA	3115
1767944	AA	3116
1767945	AA	3111
1767945	AA	3112
1767945	AA	3113
1767945	AA	3114
1767945	AA	3115
1767945	AA	3116
1767946	AA	3111
1767946	AA	3112
1767946	AA	3113
1767946	AA	3114
1767946	AA	3115
1767946	AA	3116
1767947	AA	3111
1767947	AA	3112
1767947	AA	3113
1767947	AA	3114
1767947	AA	3115
1767947	AA	3116
1767948	AA	3111
1767948	AA	3112
1767948	AA	3113
1767948	AA	3114
1767948	AA	3115
1767948	AA	3116
1767949	AA	3111
1767949	AA	3112
1767949	AA	3113
1767949	AA	3114
1767949	AA	3115
1767949	AA	3116
1768005	BL	3114
1768005	BL	3115
1768005	BL	3116
1768006	BL	3114
1768006	BL	3115
1768006	BL	3116
1768017	AO	3117
1768017	AO	3118
1768017	AO	3119
1768017	AO	3120
1768017	AO	3121
1768017	AO	3122
1768018	AO	3117
1768018	AO	3118
1768018	AO	3119
1768018	AO	3120
1768018	AO	3121
1768018	AO	3122
1768019	AO	3117
1768019	AO	3118
1768019	AO	3119
1768019	AO	3120
1768019	AO	3121
1768019	AO	3122
1768020	AO	3117
1768020	AO	3118
1768020	AO	3119
1768020	AO	3120
1768020	AO	3121
1768020	AO	3122
1768021	AO	3117
1768021	AO	3118
1768021	AO	3119
1768021	AO	3120
1768021	AO	3121
1768021	AO	3122
1768022	AO	3117
1768022	AO	3118
1768022	AO	3119
1768022	AO	3120
1768022	AO	3121
1768022	AO	3122
1768023	AO	3117
1768023	AO	3118
1768023	AO	3119
1768023	AO	3120
1768023	AO	3121
1768023	AO	3122
1768024	AO	3117
1768024	AO	3118
1768024	AO	3119
1768024	AO	3120
1768024	AO	3121
1768024	AO	3122
1768403	SA	3114
1768403	SA	3115
1768403	SA	3116
1768404	SA	3114
1768404	SA	3115
1768404	SA	3116
1768405	SA	3114
1768405	SA	3115
1768405	SA	3116
1768406	SA	3114
1768406	SA	3115
1768406	SA	3116
1768407	SA	3114
1768407	SA	3115
1768407	SA	3116
1768408	SA	3114
1768408	SA	3115
1768408	SA	3116
1768409	SA	3114
1768409	SA	3115
1768409	SA	3116
1768410	SA	3114
1768410	SA	3115
1768410	SA	3116
1768411	SA	3114
1768411	SA	3115
1768411	SA	3116
1768412	SA	3114
1768412	SA	3115
1768412	SA	3116
1768413	SA	3114
1768413	SA	3115
1768413	SA	3116
1768414	SA	3114
1768414	SA	3115
1768414	SA	3116
1768415	SA	3114
1768415	SA	3115
1768415	SA	3116
1768416	SA	3114
1768416	SA	3115
1768416	SA	3116
1768417	SA	3114
1768417	SA	3115
1768417	SA	3116
1768418	SA	3114
1768418	SA	3115
1768418	SA	3116
1768439	AO	3114
1768439	AO	3115
1768439	AO	3116
1768440	AO	3114
1768440	AO	3115
1768440	AO	3116
1768441	AO	3114
1768441	AO	3115
1768441	AO	3116
1768442	AO	3114
1768442	AO	3115
1768442	AO	3116
1768443	AO	3114
1768443	AO	3115
1768443	AO	3116
1768444	AO	3114
1768444	AO	3115
1768444	AO	3116
1768445	AO	3114
1768445	AO	3115
1768445	AO	3116
1768446	AO	3114
1768446	AO	3115
1768446	AO	3116
1768447	AO	3114
1768447	AO	3115
1768447	AO	3116
1768448	AO	3114
1768448	AO	3115
1768448	AO	3116
1768449	AO	3114
1768449	AO	3115
1768449	AO	3116
1768450	AO	3114
1768450	AO	3115
1768450	AO	3116
1768505	JD	3114
1768505	JD	3115
1768505	JD	3116
1768506	JD	3114
1768506	JD	3115
1768506	JD	3116
1768507	JD	3114
1768507	JD	3115
1768507	JD	3116
1768508	JD	3114
1768508	JD	3115
1768508	JD	3116
1768509	JD	3114
1768509	JD	3115
1768509	JD	3116
1768510	JD	3114
1768510	JD	3115
1768510	JD	3116
1768511	JD	3114
1768511	JD	3115
1768511	JD	3116
1768512	JD	3114
1768512	JD	3115
1768512	JD	3116
1768513	JD	3114
1768513	JD	3115
1768513	JD	3116
1768514	JD	3114
1768514	JD	3115
1768514	JD	3116
1768515	JD	3114
1768515	JD	3115
1768515	JD	3116
1768625	MA	3117
1768625	MA	3118
1768625	MA	3119
1768625	MA	3120
1768625	MA	3121
1768625	MA	3122
1768626	MA	3117
1768626	MA	3118
1768626	MA	3119
1768626	MA	3120
1768626	MA	3121
1768626	MA	3122
1768627	MA	3117
1768627	MA	3118
1768627	MA	3119
1768627	MA	3120
1768627	MA	3121
1768627	MA	3122
1768628	MA	3117
1768628	MA	3118
1768628	MA	3119
1768628	MA	3120
1768628	MA	3121
1768628	MA	3122
1768629	MA	3117
1768629	MA	3118
1768629	MA	3119
1768629	MA	3120
1768629	MA	3121
1768629	MA	3122
1768630	MA	3117
1768630	MA	3118
1768630	MA	3119
1768630	MA	3120
1768630	MA	3121
1768630	MA	3122
1768631	MA	3117
1768631	MA	3118
1768631	MA	3119
1768631	MA	3120
1768631	MA	3121
1768631	MA	3122
1768632	MA	3117
1768632	MA	3118
1768632	MA	3119
1768632	MA	3120
1768632	MA	3121
1768632	MA	3122
1768633	MA	3117
1768633	MA	3118
1768633	MA	3119
1768633	MA	3120
1768633	MA	3121
1768633	MA	3122
1768634	MA	3117
1768634	MA	3118
1768634	MA	3119
1768634	MA	3120
1768634	MA	3121
1768634	MA	3122
1768635	MA	3117
1768635	MA	3118
1768635	MA	3119
1768635	MA	3120
1768635	MA	3121
1768635	MA	3122
1768636	MA	3117
1768636	MA	3118
1768636	MA	3119
1768636	MA	3120
1768636	MA	3121
1768636	MA	3122
1768637	MA	3117
1768637	MA	3118
1768637	MA	3119
1768637	MA	3120
1768637	MA	3121
1768637	MA	3122
1768638	MA	3117
1768638	MA	3118
1768638	MA	3119
1768638	MA	3120
1768638	MA	3121
1768638	MA	3122
1768639	MA	3117
1768639	MA	3118
1768639	MA	3119
1768639	MA	3120
1768639	MA	3121
1768639	MA	3122
1768742	PD	3120
1768742	PD	3121
1768742	PD	3122
1768743	PD	3120
1768743	PD	3121
1768743	PD	3122
1768744	PD	3120
1768744	PD	3121
1768744	PD	3122
1768745	PD	3120
1768745	PD	3121
1768745	PD	3122
1768746	PD	3120
1768746	PD	3121
1768746	PD	3122
1768747	PD	3120
1768747	PD	3121
1768747	PD	3122
1768748	PD	3120
1768748	PD	3121
1768748	PD	3122
1768749	PD	3120
1768749	PD	3121
1768749	PD	3122
1768750	PD	3120
1768750	PD	3121
1768750	PD	3122
1768751	PD	3120
1768751	PD	3121
1768751	PD	3122
1768752	PD	3120
1768752	PD	3121
1768752	PD	3122
1768753	PD	3120
1768753	PD	3121
1768753	PD	3122
1768754	PD	3120
1768754	PD	3121
1768754	PD	3122
1768755	PD	3120
1768755	PD	3121
1768755	PD	3122
1768756	PD	3120
1768756	PD	3121
1768756	PD	3122
1768757	PD	3120
1768757	PD	3121
1768757	PD	3122
1768758	PD	3120
1768758	PD	3121
1768758	PD	3122
1768759	PD	3120
1768759	PD	3121
1768759	PD	3122
1768839	MA	3120
1768839	MA	3121
1768839	MA	3122
1768840	MA	3120
1768840	MA	3121
1768840	MA	3122
1768841	MA	3120
1768841	MA	3121
1768841	MA	3122
1768842	MA	3120
1768842	MA	3121
1768842	MA	3122
1768843	MA	3120
1768843	MA	3121
1768843	MA	3122
1768844	MA	3120
1768844	MA	3121
1768844	MA	3122
1768845	MA	3120
1768845	MA	3121
1768845	MA	3122
1768846	MA	3120
1768846	MA	3121
1768846	MA	3122
1768847	MA	3120
1768847	MA	3121
1768847	MA	3122
1768848	MA	3120
1768848	MA	3121
1768848	MA	3122
1768885	AO	3123
1768885	AO	3124
1768885	AO	3125
1768886	AO	3123
1768886	AO	3124
1768886	AO	3125
1768887	AO	3123
1768887	AO	3124
1768887	AO	3125
1768888	AO	3123
1768888	AO	3124
1768888	AO	3125
1768889	AO	3123
1768889	AO	3124
1768889	AO	3125
1768890	AO	3123
1768890	AO	3124
1768890	AO	3125
1768891	AO	3123
1768891	AO	3124
1768891	AO	3125
1768892	AO	3123
1768892	AO	3124
1768892	AO	3125
1768893	AO	3123
1768893	AO	3124
1768893	AO	3125
1768910	PD	3123
1768910	PD	3124
1768910	PD	3125
1768911	PD	3123
1768911	PD	3124
1768911	PD	3125
1768912	PD	3123
1768912	PD	3124
1768912	PD	3125
1768913	PD	3123
1768913	PD	3124
1768913	PD	3125
1768914	PD	3123
1768914	PD	3124
1768914	PD	3125
1768915	PD	3123
1768915	PD	3124
1768915	PD	3125
1768916	PD	3123
1768916	PD	3124
1768916	PD	3125
1768917	PD	3123
1768917	PD	3124
1768917	PD	3125
1768918	PD	3123
1768918	PD	3124
1768918	PD	3125
1768919	PD	3123
1768919	PD	3124
1768919	PD	3125
1768920	PD	3123
1768920	PD	3124
1768920	PD	3125
1768921	PD	3123
1768921	PD	3124
1768921	PD	3125
1768922	PD	3123
1768922	PD	3124
1768922	PD	3125
1768923	PD	3123
1768923	PD	3124
1768923	PD	3125
1768924	PD	3123
1768924	PD	3124
1768924	PD	3125
1768925	PD	3123
1768925	PD	3124
1768925	PD	3125
1768926	PD	3123
1768926	PD	3124
1768926	PD	3125
1768927	PD	3123
1768927	PD	3124
1768927	PD	3125
1768928	PD	3123
1768928	PD	3124
1768928	PD	3125
1768929	PD	3123
1768929	PD	3124
1768929	PD	3125
1782882	PD	3111
1782882	PD	3112
1782882	PD	3113
1782883	PD	3111
1782883	PD	3112
1782883	PD	3113
1782884	PD	3111
1782884	PD	3112
1782884	PD	3113
1782885	PD	3111
1782885	PD	3112
1782885	PD	3113
1782886	PD	3111
1782886	PD	3112
1782886	PD	3113
1782887	PD	3111
1782887	PD	3112
1782887	PD	3113
1782888	PD	3111
1782888	PD	3112
1782888	PD	3113
1782889	PD	3111
1782889	PD	3112
1782889	PD	3113
1782890	PD	3111
1782890	PD	3112
1782890	PD	3113
1782891	PD	3111
1782891	PD	3112
1782891	PD	3113
1782892	PD	3111
1782892	PD	3112
1782892	PD	3113
1782893	PD	3111
1782893	PD	3112
1782893	PD	3113
1782894	PD	3111
1782894	PD	3112
1782894	PD	3113
1782895	PD	3111
1782895	PD	3112
1782895	PD	3113
1782896	PD	3111
1782896	PD	3112
1782896	PD	3113
1782933	PD	3111
1782933	PD	3112
1782933	PD	3113
1782934	PD	3111
1782934	PD	3112
1782934	PD	3113
1782935	PD	3111
1782935	PD	3112
1782935	PD	3113
1782936	PD	3111
1782936	PD	3112
1782936	PD	3113
1782937	PD	3111
1782937	PD	3112
1782937	PD	3113
1782938	PD	3111
1782938	PD	3112
1782938	PD	3113
1782939	PD	3111
1782939	PD	3112
1782939	PD	3113
1782940	PD	3111
1782940	PD	3112
1782940	PD	3113
1782941	PD	3111
1782941	PD	3112
1782941	PD	3113
1782942	PD	3111
1782942	PD	3112
1782942	PD	3113
1782943	PD	3111
1782943	PD	3112
1782943	PD	3113
1782944	PD	3111
1782944	PD	3112
1782944	PD	3113
1782945	PD	3111
1782945	PD	3112
1782945	PD	3113
1782946	PD	3111
1782946	PD	3112
1782946	PD	3113
1782947	PD	3111
1782947	PD	3112
1782947	PD	3113
1782948	PD	3111
1782948	PD	3112
1782948	PD	3113
1782949	PD	3111
1782949	PD	3112
1782949	PD	3113
1785354	SA	3114
1785354	SA	3115
1785354	SA	3116
1794240	BL	3114
1794240	BL	3115
1794240	BL	3116
1795391	PD	3111
1795391	PD	3112
1795391	PD	3113

Open in new window

{edit: placed sample data into code block for legibility. PortletPaul, Topic Advisor}
0
PortletPaulfreelancerCommented:
It's an interesting requirement, and admit a more elegant solution might be possible but am unable to see it (i.e. someone else might), but I think the following might be close (I hope).

Is this the style of result wanted? A full range of distinct ColB | ColC, with ColD where matched (and ColD only in top 10% of all unique values for ColD):
COLB 	COLC 	COLD
AA 	3111 	(null)
AA 	3112 	(null)
AA 	3113 	(null)
BA 	3111 	(null)
BA 	3112 	(null)
BA 	3113 	(null)
BL 	3111 	(null)
BL 	3111 	1767501
BL 	3111 	1767502
BL 	3111 	1767503
BL 	3111 	1767504
BL 	3111 	1767505
BL 	3111 	1767506
BL 	3111 	1767507
BL 	3111 	1767508
BL 	3111 	1767509
BL 	3111 	1767510
BL 	3112 	(null)
BL 	3112 	1767501
BL 	3112 	1767502
BL 	3112 	1767503
BL 	3112 	1767504
BL 	3112 	1767505
BL 	3112 	1767506
BL 	3112 	1767507
BL 	3112 	1767508
BL 	3112 	1767509
BL 	3113 	(null)
BL 	3113 	1767501
BL 	3113 	1767502
BL 	3113 	1767503
BL 	3113 	1767504
BL 	3113 	1767505
BL 	3113 	1767506
BL 	3113 	1767507
BL 	3113 	1767508
BL 	3113 	1767509
BL 	3115 	(null)
BL 	3116 	(null)
JD 	3111 	(null)
JD 	3112 	(null)
JD 	3113 	(null)
MA 	3114 	(null)
MA 	3115 	(null)
MA 	3116 	(null)
MA 	3120 	(null)
MA 	3121 	(null)
MA 	3122 	(null)
PD 	3111 	(null)
PD 	3112 	(null)
PD 	3113 	(null)
SA 	3114 	(null)
SA 	3115 	(null)
SA 	3116 	(null)

Open in new window

(Please note this result is drawn from only some of that sample data)

The above result style is produced by the following query:
;WITH
  CTE1 AS (
             SELECT
                      colB
                    , ColC
                    , colD
                    , min(n10) AS n10
             FROM (
                    SELECT
                            colB
                          , ColC
                          , ColD
                          , NTILE(10) over (ORDER BY ColD) AS n10
                    FROM SampleData
                   ) AS SQ
             GROUP BY
                      colB
                    , ColC
                    , colD
            )
, CTE2 AS (
            SELECT DISTINCT
                    colB
                  , ColC
            FROM CTE1
          )

SELECT
        colB
      , ColC
      , ColD
FROM CTE1
WHERE n10 = 1

UNION ALL

SELECT
        colB
      , ColC
      , cast(NULL AS int) AS ColD
FROM CTE2
WHERE EXISTS (
        SELECT 1
        FROM CTE2
        INNER JOIN cte1 ON cte2.colb = cte1.colb
                       AND cte2.colc = cte1.colc
                       AND cte1.n10 > 1
        )
ORDER BY
        colB
      , ColC
      , ColD
;

Open in new window

may be seen working at: http://sqlfiddle.com/#!3/41611/21
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
ASPDaddyAuthor Commented:
Hi his looks interesting. I will update in the next day when Ive had time to look at it properly.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Query Syntax

From novice to tech pro — start learning today.