我想加入這些語句:鏈接兩個表沒有任何共同之處
select min(len(Password)) as min,
max(len(Password)) as max,
avg(len(Password)) as avg
FROM Customer.dbo.Password
UNION ALL
select min(len(password2)) as min,
max(len(password2)) as max,
avg(len(password2)) as avg
FROM website.dbo.password2
對於這些:
SELECT c.name COLLATE SQL_Latin1_General_CP1_CI_AS colName, o.name COLLATE SQL_Latin1_General_CP1_CI_AS tableName, 'website' db FROM website.sys.all_columns as c INNER JOIN website.sys.all_objects o ON c.object_id = o.object_id WHERE c.name like '%password%' AND type = 'U'
UNION
SELECT c.name COLLATE SQL_Latin1_General_CP1_CI_AS colName, o.name COLLATE SQL_Latin1_General_CP1_CI_AS tableName, 'Customer' db FROM Customer.sys.all_columns as c INNER JOIN Customer.sys.all_objects o ON c.object_id = o.object_id WHERE c.name like '%password%' AND type = 'U'
他們沒有共同的列。前兩個SELECT語句產生密碼長度的最小值,最大值和平均值的三列,其次兩個產生保存密碼的colName,tableName和db名稱。
我想在一個表中顯示兩個結果集純粹是出於視覺原因,以獲得相應的min,max,avg到適當的colName,tableName和db。
我試圖做這樣說:
DECLARE @numberTable TABLE (link nvarchar(500), max int, min int, avg int)
INSERT INTO @numberTable
select 'link', min(len(Password)) as min,
max(len(Password)) as max,
avg(len(Password)) as avg
FROM Customer.dbo.Password UNION ALL
select 'link', min(len(password2)) as min,
max(len(password2)) as max,
avg(len(password2)) as avg
FROM website.dbo.password2
SELECT * FROM @numberTable ORDER BY max
DECLARE @myTable TABLE (link nvarchar(500), colName nvarchar(500), tableName nvarchar(500), db nvarchar(500))
INSERT INTO @myTable
SELECT 'link', c.name COLLATE SQL_Latin1_General_CP1_CI_AS colName, o.name COLLATE SQL_Latin1_General_CP1_CI_AS tableName, 'website' db FROM website.sys.all_columns as c INNER JOIN website.sys.all_objects o ON c.object_id = o.object_id WHERE c.name like '%password%' AND type = 'U' UNION
SELECT 'link', c.name COLLATE SQL_Latin1_General_CP1_CI_AS colName, o.name COLLATE SQL_Latin1_General_CP1_CI_AS tableName, 'Customer' db FROM Customer.sys.all_columns as c INNER JOIN Customer.sys.all_objects o ON c.object_id = o.object_id WHERE c.name like '%password%' AND type = 'U'
SELECT * FROM @myTable ORDER BY db
SELECT link
FROM @myTable
LEFT OUTER JOIN @numberTable
ON @myTable.link = @numberTable.link
不幸的是這沒有奏效。
我正在使用Microsoft SQL Server 2008.
希望我以後說的是有道理的。
謝謝,這個作品。 – Alias