我有2个表,一个包含客户列表(t_client)及其唯一ID,另一个包含促销代码列表(t_promo_code)。 我为这两个数据表创建了索引:idx_client; idx_code,我想加入这两个表,以便每个客户都可以有促销代码。
我想在SQL服务器中应该有这样的东西吗?
Select @row_index := @row_index +1 as index
然而,我找不到任何东西......我真的不熟悉Index。如果我可以将索引转换为列,那将更容易,但我也不知道如何做到这一点。 我只找到了这样一个选择句子:
knitr::opts_chunk$set(fig.align = "center")
但它似乎只适用于MYSQL,而我使用的是SQL SERVER 2008。
有什么想法吗?
答案 0 :(得分:0)
很抱歉,如果我没说清楚的话。我很难加入这两个表,因为表t_promo_code没有任何匹配t_client的列。
因此,我正在考虑使用INDEX为他们生成共享密钥。但是,我刚刚找到另一个解决方案,即使用Row_number而不是Index。
最后,我使用了以下SQL,它可以工作!
Select Email, 'test_campaign' AS Campaign, GEtDATE() AS DATE, Code
from(
SELECT Code, row_number() over (order by code) as row_num
FROM [t_promo_code])A
join
(SELECT Email, row_number() over (order by Email) as row_num
FROM [t_client])B
on A.row_num=B.row_num
ORDER BY A.Code,B.Email