Sql server 为SQL Server 2000中的两个不同表选择两列

Sql server 为SQL Server 2000中的两个不同表选择两列,sql-server,Sql Server,我有一个数据库,有两个表Table1和Table2。表1有一列A,表2有一列B我想选择这两列 寻找类似于: 表1中的A栏: a b c 表2中的A栏: d e f 结果集应为: d b e 碳纤维 提前感谢。由于两个表之间没有关系,因此未真正定义此操作。表1中的哪一行与表2中的哪一行一致 你应该建立一种关系 您到底想要实现什么?我非常确定sql server 2000支持表变量,所以您可以尝试一下 DECLARE @TableA TABLE( ID INT IDENTITY(1,

我有一个数据库,有两个表Table1和Table2。表1有一列A,表2有一列B我想选择这两列

寻找类似于:

表1中的A栏:

a

b

c

表2中的A栏:

d

e

f

结果集应为:

d

b e

碳纤维


提前感谢。

由于两个表之间没有关系,因此未真正定义此操作。表1中的哪一行与表2中的哪一行一致

你应该建立一种关系


您到底想要实现什么?

我非常确定sql server 2000支持表变量,所以您可以尝试一下

DECLARE @TableA TABLE(
        ID INT IDENTITY(1,1),
        Val VARCHAR(50)
)

INSERT INTO @TableA (Val) SELECT ColumnA FROM Table1

DECLARE @TableB TABLE(
        ID INT IDENTITY(1,1),
        Val VARCHAR(50)
)

INSERT INTO @TableB (Val) SELECT ColumnB FROM Table2

SELECT a.Val,
        b.Val
FROM    @TableA a INNER JOIN
        @TableB b ON a.ID = b.ID

我不知道全局,但根据你所说的,这里有一个例子。必须有某种方法来定义表1中的哪个记录应该与表2中的记录匹配。我假设当按每个表中的列排序时,它们在排序上匹配,例如,表1中的记录1按列A排序,与表2中的记录1按列B排序。此示例要求SQL 2005或更高版本

DECLARE @T1 TABLE (A varchar(10))
DECLARE @T2 TABLE (B varchar(10))

INSERT @T1 VALUES ('a')
INSERT @T1 VALUES ('b')
INSERT @T1 VALUES ('c')
INSERT @T2 VALUES ('d')
INSERT @T2 VALUES ('e')
INSERT @T2 VALUES ('f')

SELECT A, B
FROM
(
    SELECT ROW_NUMBER() OVER (ORDER BY A ASC) AS RowNo, A
    FROM @T1
) t1
JOIN
(
    SELECT ROW_NUMBER() OVER (ORDER BY B ASC) AS RowNo, B
    FROM @T2
) t2 ON t1.RowNo = t2.RowNo

系统如何知道将表1中的“a”值与表2中的“d”值相关联?如果有人向表2中添加了另一行值为“c”的行,您的查询现在应该输出吗

 null-  c
  a  -  d
  b  -  e
  c  -  f

-您必须以某种方式指定用于将表1中的行与表2中的行关联的规则

如果您只希望根据字母排序关联行, 然后,如果每个表中的值都是唯一的(仅使用标准SQL),请尝试以下操作

   Select Z1.ColumnA, z2.ColumnB
   From  (Select ColumnA,
              (Select Count(*) 
               From Table1
               Where ColumnA < t1.ColumnA) RowNo,
          From Table1 T1) z1
    Join (Select ColumnB,
              (Select Count(*) 
               From Table2
               Where ColumnB < t2.ColumnB) RowNo,
          From Table2 T2) z2
       On z1.RowNo = z2.RowNo
   Order By z1.RowNo

我正在向sp传递两个参数,它们都是逗号字符串。。然后在sp中将字符串转换为两列。。这些列必须与另一个表连接以进行更新。这正是我要发布的内容。这两个表之间是否存在实际关系?也就是说,他们有主键和外键设置吗?非常好的逻辑。它帮助了我。谢谢
  a  -  c
  b  -  d
  c  -  e
 null-  f
   Select Z1.ColumnA, z2.ColumnB
   From  (Select ColumnA,
              (Select Count(*) 
               From Table1
               Where ColumnA < t1.ColumnA) RowNo,
          From Table1 T1) z1
    Join (Select ColumnB,
              (Select Count(*) 
               From Table2
               Where ColumnB < t2.ColumnB) RowNo,
          From Table2 T2) z2
       On z1.RowNo = z2.RowNo
   Order By z1.RowNo