如果不考虑顺序,即ab和ba是不同组合,可以这样 表名是A,字段name select distinct newNameFROM ( select A.name+B.name AS NewName from A INNER JOIN A AS B ON A.name != b.name)AS AA
SELECT TOP 2 * FROM TB ORDER BY NEWID()
如果两个字段 可以相等 则 select distinct newNameFROM ( select A.name+B.name AS NewName from A ,A AS B)AS AA
DECLARE @tb TABLE (id varchar(2),num int) INSERT INTO @tb SELECT '01',1 UNION ALL SELECT '02',9 UNION ALL SELECT '03',11 UNION ALL SELECT '04',2 SELECT DISTINCT T.ID,T1.ID FROM @TB T CROSS JOIN @TB T1 WHERE T.ID<>T1.ID (所影响的行数为 4 行)ID ID ---- ---- 01 02 01 03 01 04 02 01 02 03 02 04 03 01 03 02 03 04 04 01 04 02 04 03(所影响的行数为 12 行)???是这意思没
DECLARE @T TABLE( COL1 VARCHAR(100) ) INSERT INTO @T SELECT 'A' UNION ALL SELECT 'B' UNION ALL SELECT 'C' UNION ALL SELECT 'D'SELECT T1.COL1+T2.COL1 'COL1' FROM @T T1 FULL JOIN @T T2 ON T1.COL1<>T2.COL1
表名是A,字段name
select distinct newNameFROM (
select A.name+B.name AS NewName
from A INNER JOIN A AS B ON A.name != b.name)AS AA
可以相等
则
select distinct newNameFROM (
select A.name+B.name AS NewName
from A ,A AS B)AS AA
INSERT INTO @tb
SELECT '01',1 UNION ALL
SELECT '02',9 UNION ALL
SELECT '03',11 UNION ALL
SELECT '04',2 SELECT DISTINCT T.ID,T1.ID FROM @TB T CROSS JOIN @TB T1 WHERE T.ID<>T1.ID
(所影响的行数为 4 行)ID ID
---- ----
01 02
01 03
01 04
02 01
02 03
02 04
03 01
03 02
03 04
04 01
04 02
04 03(所影响的行数为 12 行)???是这意思没
COL1 VARCHAR(100)
)
INSERT INTO @T
SELECT 'A' UNION ALL
SELECT 'B' UNION ALL
SELECT 'C' UNION ALL
SELECT 'D'SELECT T1.COL1+T2.COL1 'COL1' FROM @T T1
FULL JOIN @T T2 ON T1.COL1<>T2.COL1