I would definetly use views for a table like that. Here's the views that I use at my clients for the price code tables
Copy and paste all of it into query analyzer and it will be easier to read.
------------------------------------------------------------------------------
--Create OE Price Code link for Price code 1 - Customer Number and Item Number
------------------------------------------------------------------------------
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[vOE_PC1CusNoItemNo]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[vOE_PC1CusNoItemNo]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.vOE_PC1CusNoItemNo
AS
SELECT cd_tp AS cd_tp, curr_cd, LEFT(filler_0001, 12) AS cus_no, SUBSTRING(filler_0001, 13, 15) AS item_no, start_dt, end_dt, cd_prc_basis, minimum_qty_1,
prc_or_disc_1, minimum_qty_2, prc_or_disc_2, minimum_qty_3, prc_or_disc_3, minimum_qty_4, prc_or_disc_4, minimum_qty_5, prc_or_disc_5,
minimum_qty_6, prc_or_disc_6, minimum_qty_7, prc_or_disc_7, minimum_qty_8, prc_or_disc_8, minimum_qty_9, prc_or_disc_9, minimum_qty_10,
prc_or_disc_10
FROM db

EPRCFIL_SQL
WHERE (cd_tp = 1)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
-----------------------------------------------------------------------------------
--Create OE Price Code link for Price code 2 - Customer Number and Product Category
-----------------------------------------------------------------------------------
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[vOE_PC2CusNoProdCat]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[vOE_PC2CusNoProdCat]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.vOE_PC2CusNoProdCat
AS
SELECT cd_tp AS cd_tp, curr_cd, LEFT(filler_0001, 12) AS cus_no, SUBSTRING(filler_0001, 13, 3) AS prod_cat, start_dt, end_dt, cd_prc_basis, minimum_qty_1,
prc_or_disc_1, minimum_qty_2, prc_or_disc_2, minimum_qty_3, prc_or_disc_3, minimum_qty_4, prc_or_disc_4, minimum_qty_5, prc_or_disc_5,
minimum_qty_6, prc_or_disc_6, minimum_qty_7, prc_or_disc_7, minimum_qty_8, prc_or_disc_8, minimum_qty_9, prc_or_disc_9, minimum_qty_10,
prc_or_disc_10
FROM db

EPRCFIL_SQL
WHERE (cd_tp = 2)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
----------------------------------------------------------------------------
--Create OE Price Code link for Price code 3 - Customer Type and Item Number
----------------------------------------------------------------------------
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[vOE_PC3CusTypeItemNo]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[vOE_PC3CusTypeItemNo]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.vOE_PC3CusTypeItemNo
AS
SELECT cd_tp, curr_cd, LEFT(filler_0001, 5) AS cus_type_cd, SUBSTRING(filler_0001, 6, 15) AS item_no, start_dt, end_dt, cd_prc_basis, minimum_qty_1,
prc_or_disc_1, minimum_qty_2, prc_or_disc_2, minimum_qty_3, prc_or_disc_3, minimum_qty_4, prc_or_disc_4, minimum_qty_5, prc_or_disc_5,
minimum_qty_6, prc_or_disc_6, minimum_qty_7, prc_or_disc_7, minimum_qty_8, prc_or_disc_8, minimum_qty_9, prc_or_disc_9, minimum_qty_10,
prc_or_disc_10
FROM db

EPRCFIL_SQL
WHERE (cd_tp = 3)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
---------------------------------------------------------------------------------
--Create OE Price Code link for Price code 4 - Customer Type and Product Category
---------------------------------------------------------------------------------
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[vOE_PC4CusTypeProdCat]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[vOE_PC4CusTypeProdCat]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.vOE_PC4CusTypeProdCat
AS
SELECT cd_tp, curr_cd, LEFT(filler_0001, 5) AS cus_type_cd, SUBSTRING(filler_0001, 6, 3) AS prod_cat, start_dt, end_dt, cd_prc_basis, minimum_qty_1,
prc_or_disc_1, minimum_qty_2, prc_or_disc_2, minimum_qty_3, prc_or_disc_3, minimum_qty_4, prc_or_disc_4, minimum_qty_5, prc_or_disc_5,
minimum_qty_6, prc_or_disc_6, minimum_qty_7, prc_or_disc_7, minimum_qty_8, prc_or_disc_8, minimum_qty_9, prc_or_disc_9, minimum_qty_10,
prc_or_disc_10
FROM db

EPRCFIL_SQL
WHERE (cd_tp = 4)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
-------------------------------------------------------------------
--Create OE Price Code link for Price code 5 - Customer Number Only
-------------------------------------------------------------------
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[vOE_PC5CusNo]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[vOE_PC5CusNo]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.vOE_PC5CusNo
AS
SELECT cd_tp AS cd_tp, curr_cd, LEFT(filler_0001, 12) AS cus_no, start_dt, end_dt, cd_prc_basis, minimum_qty_1, prc_or_disc_1, minimum_qty_2,
prc_or_disc_2, minimum_qty_3, prc_or_disc_3, minimum_qty_4, prc_or_disc_4, minimum_qty_5, prc_or_disc_5, minimum_qty_6, prc_or_disc_6,
minimum_qty_7, prc_or_disc_7, minimum_qty_8, prc_or_disc_8, minimum_qty_9, prc_or_disc_9, minimum_qty_10, prc_or_disc_10
FROM db

EPRCFIL_SQL
WHERE (cd_tp = 5)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
---------------------------------------------------------------
--Create OE Price Code link for Price code 6 - Item Number Only
---------------------------------------------------------------
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[vOE_PC6ItemNo]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[vOE_PC6ItemNo]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.vOE_PC6ItemNo
AS
SELECT cd_tp AS cd_tp, curr_cd, LEFT(filler_0001, 15) AS item_no, start_dt, end_dt, cd_prc_basis, minimum_qty_1, prc_or_disc_1, minimum_qty_2,
prc_or_disc_2, minimum_qty_3, prc_or_disc_3, minimum_qty_4, prc_or_disc_4, minimum_qty_5, prc_or_disc_5, minimum_qty_6, prc_or_disc_6,
minimum_qty_7, prc_or_disc_7, minimum_qty_8, prc_or_disc_8, minimum_qty_9, prc_or_disc_9, minimum_qty_10, prc_or_disc_10
FROM db

EPRCFIL_SQL
WHERE (cd_tp = 6)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
-----------------------------------------------------------------
--Create OE Price Code link for Price code 7 - Customer Type Only
-----------------------------------------------------------------
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[vOE_PC7CusType]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[vOE_PC7CusType]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.vOE_PC7CusType
AS
SELECT cd_tp AS cd_tp, curr_cd, LEFT(filler_0001, 5) AS cus_type_cd, start_dt, end_dt, cd_prc_basis, minimum_qty_1, prc_or_disc_1, minimum_qty_2,
prc_or_disc_2, minimum_qty_3, prc_or_disc_3, minimum_qty_4, prc_or_disc_4, minimum_qty_5, prc_or_disc_5, minimum_qty_6, prc_or_disc_6,
minimum_qty_7, prc_or_disc_7, minimum_qty_8, prc_or_disc_8, minimum_qty_9, prc_or_disc_9, minimum_qty_10, prc_or_disc_10
FROM db

EPRCFIL_SQL
WHERE (cd_tp = 7)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
--------------------------------------------------------------------
--Create OE Price Code link for Price code 8 - Product Category Only
--------------------------------------------------------------------
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[vOE_PC8ProdCat]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[vOE_PC8ProdCat]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW dbo.vOE_PC8ProdCat
AS
SELECT cd_tp AS cd_tp, curr_cd, LEFT(filler_0001, 3) AS prod_cat, start_dt, end_dt, cd_prc_basis, minimum_qty_1, prc_or_disc_1, minimum_qty_2,
prc_or_disc_2, minimum_qty_3, prc_or_disc_3, minimum_qty_4, prc_or_disc_4, minimum_qty_5, prc_or_disc_5, minimum_qty_6, prc_or_disc_6,
minimum_qty_7, prc_or_disc_7, minimum_qty_8, prc_or_disc_8, minimum_qty_9, prc_or_disc_9, minimum_qty_10, prc_or_disc_10
FROM db

EPRCFIL_SQL
WHERE (cd_tp = 8)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
Kevin Scheeler