使用另一个表中的值填充SQL中的列

尼克先生

这是我的第一篇文章,如果格式不正确,请多多指教。

我正在为饼图和每个行创建一个数据集,我需要从颜色表中添加一个颜色(COL_COL)和颜色突出显示(COL_HIG),如下所示。

CREATE TABLE [dbo].[T_COL](
    [COL_SEQ] [int] IDENTITY(1,1) NOT NULL,
    [COL_COL] [nvarchar](20) NULL,
    [COL_HIG] [nvarchar](20) NULL,
    [COL_NAM] [nvarchar](50) NULL,
    [COL_DEL] [bit] NOT NULL,
) 

INSERT INTO [dbo].[T_COL]           ([COL_COL]
           ,[COL_HIG]
           ,[COL_NAM]
           ,[COL_DEL])
     VALUES
           ('#F7464A', '#FF5A5E','Red', 0), 
           ('#46BFBD', '#5AD3D1','Green', 0), 
           ('#FDB45C', '#FFC870','Yellow', 0), 
           ('#949FB1', '#A8B3C5','Grey', 0), 
           ('#4D5360', '#616774','Dark Grey', 0)

从审计表生成我的数据的SQL是...

select count(*) as 'Visits', 
    datename(mm, AUD_DAT) as 'Month',
    'Unique Visits by Month' as 'Title',
    datepart(mm, AUD_DAT) as 'MonthNo',
      ROW_NUMBER() OVER (ORDER BY datename(mm, AUD_DAT)) AS 'rownum',
     null as 'colour',
     null as 'ColHightlight'
     into #temp
    from dbo.T_AUD
    where AUD_TYP_SEQ = 3 and datepart(year, AUD_DAT) = @year
    group by datename(mm, AUD_DAT),datepart(mm, AUD_DAT)
    order by datepart(mm, AUD_DAT)

上面的查询返回8行,并且颜色表中有五种颜色。我试图到达第1-5行包含颜色1-5的位置,然后第6行将包含颜色1,第7行包含颜色2,依此类推。与其对颜色的数量进行硬编码,不如使用颜色表的计数,因为当将颜色添加到该表时,计数将发生变化。

我尝试使用row_number函数,但这只是为每行增加一个数字,我不确定当它到达颜色表的计数时是否可以将其重置为1。

你能帮我实现这个吗?任何帮助表示赞赏。缺口。

乔基·纳库里(Giorgi Nakeuri)

做这样的事情。ctecolors将用标记行rn(0, 1, 2, 3, 4)teaud将标记rn(0, 1, 2, 3, 4, 0, 1....)然后简单地加入rn

;with ctecolors as
(select *, -1+row_number() over(order by (select 1)) rn from [dbo].[T_COL]),

cteaud as
(   select count(*) as 'Visits', 
    datename(mm, AUD_DAT) as 'Month',
    'Unique Visits by Month' as 'Title',
    datepart(mm, AUD_DAT) as 'MonthNo',
      (-1+ROW_NUMBER() OVER (ORDER BY datename(mm, AUD_DAT))) % 5 AS rn
    from dbo.T_AUD
    where AUD_TYP_SEQ = 3 and datepart(year, AUD_DAT) = @year
    group by datename(mm, AUD_DAT),datepart(mm, AUD_DAT))

Select Visits,Month,Title,MonthNo, ctecolors.* into #temp
from ctecolors cc
join cteaud ca on cc.rn = ca.rn

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

一个表的DROP列,根据另一个表中的值

来自分类Dev

SQL选择-如果另一个表中存在值,则计算列

来自分类Dev

使用另一个表中的值对SQL表进行排序

来自分类Dev

用另一个表SQL Server中的值替换列中的NA

来自分类Dev

更改列的值取决于SQL Server中另一个表的值

来自分类Dev

Postgres-jsonb:更新列中的键,并使用另一个表中的值

来自分类Dev

在我的SQL查询中,如何有一个包含从另一个表查询的值的列?

来自分类Dev

如果在另一个表的其他两个列的范围之间找到一个新列,则该列将填充另一个表中的值

来自分类Dev

T-SQL仅使用变量中的值而不是一列将行的副本从一个表插入到另一个表

来自分类Dev

如何在Excel中自动将列值填充到另一个工作表中?

来自分类Dev

如何根据另一个参考列中的数据值填充或更新Excel工作表中的列值

来自分类Dev

SQL查询以基于另一个表中的列值从一个表中选择

来自分类Dev

根据另一个表中的列值对列使用检查约束

来自分类Dev

如何用另一个表中的数据(计算得出的)填充SQL列

来自分类Dev

将一个表中的值链接到另一个表,并根据sql中另一个表中的列对一个表进行切片

来自分类Dev

SQL查询另一个表中的值

来自分类Dev

计算另一个表中另一列的列值

来自分类Dev

使用SQL中的另一个表计算列

来自分类Dev

视图中具有静态值的另一个表中的SQL Server列

来自分类Dev

如果表中存在行,则在SQL中使用另一个表值

来自分类Dev

使用MySQL根据另一个表中的列数更新列中的值

来自分类Dev

MYSQL自动填充另一个表中的列值

来自分类Dev

SQL-将变量设置为另一个表中列的值

来自分类Dev

一个表中的SQL更新值与Oracle SQL Developer中的另一个表的值匹配

来自分类Dev

Excel公式仅使用另一个工作表上的列中的第一个值

来自分类Dev

如何通过使用另一个表中的不同列的值来显示另一个表中的字段的值

来自分类Dev

如何使用 SQL 中另一个表中的一列创建一个新表?

来自分类Dev

在 MySQL 中如何使用基于另一个表的列值的名称连接表?

来自分类Dev

根据另一个表中的行数填充表中的列

Related 相关文章

  1. 1

    一个表的DROP列,根据另一个表中的值

  2. 2

    SQL选择-如果另一个表中存在值,则计算列

  3. 3

    使用另一个表中的值对SQL表进行排序

  4. 4

    用另一个表SQL Server中的值替换列中的NA

  5. 5

    更改列的值取决于SQL Server中另一个表的值

  6. 6

    Postgres-jsonb:更新列中的键,并使用另一个表中的值

  7. 7

    在我的SQL查询中,如何有一个包含从另一个表查询的值的列?

  8. 8

    如果在另一个表的其他两个列的范围之间找到一个新列,则该列将填充另一个表中的值

  9. 9

    T-SQL仅使用变量中的值而不是一列将行的副本从一个表插入到另一个表

  10. 10

    如何在Excel中自动将列值填充到另一个工作表中?

  11. 11

    如何根据另一个参考列中的数据值填充或更新Excel工作表中的列值

  12. 12

    SQL查询以基于另一个表中的列值从一个表中选择

  13. 13

    根据另一个表中的列值对列使用检查约束

  14. 14

    如何用另一个表中的数据(计算得出的)填充SQL列

  15. 15

    将一个表中的值链接到另一个表,并根据sql中另一个表中的列对一个表进行切片

  16. 16

    SQL查询另一个表中的值

  17. 17

    计算另一个表中另一列的列值

  18. 18

    使用SQL中的另一个表计算列

  19. 19

    视图中具有静态值的另一个表中的SQL Server列

  20. 20

    如果表中存在行,则在SQL中使用另一个表值

  21. 21

    使用MySQL根据另一个表中的列数更新列中的值

  22. 22

    MYSQL自动填充另一个表中的列值

  23. 23

    SQL-将变量设置为另一个表中列的值

  24. 24

    一个表中的SQL更新值与Oracle SQL Developer中的另一个表的值匹配

  25. 25

    Excel公式仅使用另一个工作表上的列中的第一个值

  26. 26

    如何通过使用另一个表中的不同列的值来显示另一个表中的字段的值

  27. 27

    如何使用 SQL 中另一个表中的一列创建一个新表?

  28. 28

    在 MySQL 中如何使用基于另一个表的列值的名称连接表?

  29. 29

    根据另一个表中的行数填充表中的列

热门标签

归档