将数据从一个表复制到另一个表并设置固定值?

use*_*298 1 sql rdbms

我使用以下 SQL 语句将数据从 TableA 复制到 TableB。

INSERT INTO TableB (url, pageViews)
SELECT DISTINCT TOP(5) url AS url, SUM(HitCount) As pageViews
FROM TableA
WHERE (url LIKE '%www%site') AND (YEAR(dtDate) = 2011) AND (MONTH(dtDate) = 1)
GROUP BY url
ORDER BY pageViews DESC
Run Code Online (Sandbox Code Playgroud)

目前,这非常适合将 url 和 pageViews 数据放入 TableB 中,如下所示(请忽略这些点 - 这是为了将所有内容格式化为看起来像表格!)。


|URL            | pageViews     | ranking

|www.site.com   | 25220         | NULL

|www.site.com/a | 25230         | NULL

|www.site.com/b | 25433         | NULL
Run Code Online (Sandbox Code Playgroud)

但排名列为 NULL。对于我从 TableA 中获取的每一行,我想将排名列(仅存在于 TableB 中)的值设置为“Top5”,如下所示:


|URL            | pageViews     | ranking

|www.site.com   | 25220         | Top5

|www.site.com/a | 25230         | Top5

|www.site.com/b | 25433         | Top5
Run Code Online (Sandbox Code Playgroud)

我将非常感谢对此的任何帮助。

非常感谢 :)

Mat*_*nen 5

简单地说,为每行选择常量值:

INSERT INTO TableB (url, pageViews, ranking)
SELECT DISTINCT TOP(5) url AS url, SUM(HitCount) As pageViews, 'Top5' AS ranking
Run Code Online (Sandbox Code Playgroud)