to try and help out...I'll throw the following code into the conversation
it may or may not be appropriate...but hopefully OP will reply with some code that helps us understand.
USE [TEMPDB] -- safe place
GO
-- go and create some test data to play with
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Location]') AND type in (N'U'))
DROP TABLE [dbo].[Location]
GO
CREATE TABLE [dbo].[Location](
[LocationID] [varchar](1) NULL
) ON [PRIMARY]
GO
INSERT INTO [dbo].[Location]([LocationID])
SELECT N'A' UNION ALL
SELECT N'B' UNION ALL
SELECT N'C' UNION ALL
SELECT N'D' UNION ALL
SELECT N'E'
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Trips]') AND type in (N'U'))
DROP TABLE [dbo].[Trips]
GO
CREATE TABLE [dbo].[Trips](
[Origin] [varchar](1) NULL,
[Destnation] [varchar](1) NULL,
[Tonnage] [int] NULL
) ON [PRIMARY]
GO
INSERT INTO [dbo].[Trips]([Origin], [Destnation], [Tonnage])
SELECT N'A', N'B', 5 UNION ALL
SELECT N'A', N'D', 2 UNION ALL
SELECT N'B', N'A', 3 UNION ALL
SELECT N'B', N'E', 7 UNION ALL
SELECT N'B', N'A', 5 UNION ALL
SELECT N'B', N'D', 2 UNION ALL
SELECT N'C', N'A', 1 UNION ALL
SELECT N'C', N'A', 18 UNION ALL
SELECT N'D', N'C', 12 UNION ALL
SELECT N'D', N'A', 5 UNION ALL
SELECT N'D', N'E', 6 UNION ALL
SELECT N'A', N'B', 12 UNION ALL
SELECT N'D', N'C', 30 UNION ALL
SELECT N'E', N'D', 100 UNION ALL
SELECT N'D', N'E', 50 UNION ALL
SELECT N'E', N'C', 12 UNION ALL
SELECT N'E', N'A', 15
--do some work to start playing with
;WITH cte AS
(
SELECT A.LocationID AS Origin ,
B.LocationID AS Destination
FROM
Location A INNER JOIN Location B ON A.LocationID <> B.LocationID
)
SELECT CTE.Origin, CTE.Destination, SUM(COALESCE (Trips.Tonnage, 0)) AS TOTALS
FROM CTE LEFT OUTER JOIN
Trips ON CTE.Destination = Trips.Destnation AND CTE.Origin = Trips.Origin
GROUP BY CTE.Origin, CTE.Destination
HAVING (SUM(COALESCE (Trips.Tonnage, 0)) > 0)
ORDER BY CTE.Origin, CTE.Destination
edit to exclude zero tonnage trips
________________________________________________________________
you can lead a user to data....but you cannot make them think
and remember....every day is a school day