使用SQL执行匹配和索引功能

时间:2018-10-05 08:01:53

标签: sql-server create-table

我正在尝试创建一个新表(表B),我将在其中输入“ S / N”列的值,并且默认情况下,当它与S / N中的值匹配时,它将返回表A中的相应值。 N

表A

S / N内容

1 A

2 B

3 C

4 D

表B

S / N内容

2
1
3

我是SQL的新手,如果可以显示如何创建表B的代码,请多谢。

2 个答案:

答案 0 :(得分:0)

IF OBJECT_ID ('dbo.TableA')IS NOT NULL
DROP TABLE TableA
IF OBJECT_ID ('dbo.TableB')IS NOT NULL
DROP TABLE TableB

CREATE Table TableA ([S/NContent] VARCHAR(20))
INSERT INTO  TableA
SELECT '1 A' UNION ALL
SELECT '2 B' UNION ALL
SELECT '3 C' UNION ALL
SELECT '4 D'

SELECT SUBSTRING([S/NContent],1,PATINDEX('%[0-9]%',[S/NContent])) AS [S/NContent] INTO TableB
FROM TableA

SELECT * FROM TableA
SELECT * FROM TableB

答案 1 :(得分:0)

据我了解的问题 您是否在询问SQL中的关系?如果SN是A中的主键,请参考B中的SN列作为主键。

goroutine 1 [running]:
syscall.MustLoadDLL(0x8603bb, 0xa, 0x1)
  C:/Go/src/syscall/dll_windows.go:77 +0x76

Process finished with exit code 2

这里是使用方法。您在外键上联接了两个表

create table A (
    SN int primary key,
    Content varchar(10)
)

create table B (
    --dunno what the primary key will be
    SN int foreign key references A(SN),
    Content varchar(10)
)