枚举(给定名称)两个或多个表的交叉连接的记录

我需要为使用SQL Server的两个表(两个集合)的交叉联接(交叉产品)产生的任何单行赋予唯一标识符。基本上,我需要在唯一标识符中“压缩”结果集的任何行的列值。我在考虑GUID方法或类似方法,但我不确定它是否能达到目的。什么方法可以对SQL Sserver有效?该机制的目的是评估不同集合(表)的成员(行)的所有可能组合,并为以后使用所需的任何组合分配唯一的名称。

Input Tables A and B

+----+----+   +----+----+
| Table A |   | Table B |
+----+----+   +----+----+
| A1 | A2 |   | B1 | B2 |
+----+----+   +----+----+
|  1 |  2 |   | a  |  b |
|  3 |  4 |   | c  |  d |
+----+----+   +----+----+

结果集表A X B +唯一标识符

+----+----+----+----+ +-----+
| A1 | A2 | B1 | B2 | | UID |
+----+----+----+----+ +-----+
|  1 |  2 | a  |  b | | 001 |
|  1 |  2 | c  |  d | | 002 |
|  3 |  4 | a  |  b | | 003 |
|  3 |  4 | c  |  d | | 004 |
+----+----+----+----+ +-----+