SQL SSMS CREATE TABLE 使用另一列的值
SQL SSMS CREATE TABLE use value from another column
我有一个练习,可以在一个代码中创建 2 个 table。我正在创建两个 table,现在我需要的是在第二个 table 中使用第一个 table 中的值。这是它的样子:
CREATE TABLE a(
[hours]int NOT NULL,
)
CREATE TABLE b(
[example] varchar(60) NOT NULL PRIMARY KEY,
[simple_name] AS (CASE WHEN example = 'name' THEN 40
WHEN example = 'name2' THEN 45 END) /*THIS IS WHAT I WANT TO DO: * [a](hours) */,
)
如何在第二个table中使用第一个table的时间?我想要的是从第一个 table.
开始乘以 40 或 45 小时
我认为 查看 可能是您的答案:
CREATE TABLE a ([hours]int NOT NULL);
CREATE TABLE b ([example] varchar(60) NOT NULL PRIMARY KEY)
GO
CREATE VIEW v as
SELECT
[example],
[simple_name] = CASE
WHEN example = 'name' THEN 40
WHEN example = 'name2' THEN 45
END
* a.hours
FROM b
CROSS JOIN a -- this is a cross join and perhaps it has to be replaced with some other types of join: inner, left, right, full?
然后将视图用作常规 table:
select * from v
我有一个练习,可以在一个代码中创建 2 个 table。我正在创建两个 table,现在我需要的是在第二个 table 中使用第一个 table 中的值。这是它的样子:
CREATE TABLE a(
[hours]int NOT NULL,
)
CREATE TABLE b(
[example] varchar(60) NOT NULL PRIMARY KEY,
[simple_name] AS (CASE WHEN example = 'name' THEN 40
WHEN example = 'name2' THEN 45 END) /*THIS IS WHAT I WANT TO DO: * [a](hours) */,
)
如何在第二个table中使用第一个table的时间?我想要的是从第一个 table.
开始乘以 40 或 45 小时我认为 查看 可能是您的答案:
CREATE TABLE a ([hours]int NOT NULL);
CREATE TABLE b ([example] varchar(60) NOT NULL PRIMARY KEY)
GO
CREATE VIEW v as
SELECT
[example],
[simple_name] = CASE
WHEN example = 'name' THEN 40
WHEN example = 'name2' THEN 45
END
* a.hours
FROM b
CROSS JOIN a -- this is a cross join and perhaps it has to be replaced with some other types of join: inner, left, right, full?
然后将视图用作常规 table:
select * from v