SQL 从 select distinct with conditions 创建 table
SQL create table from a select distinct with conditions
我有一个 table,我们称它为 table1,它有很多列,对于这个 table 我现在想创建一个新的 table,其中包含独特的table1 的一列的值分组或与另一列的唯一值如果在第三列中 teh 值等于“staff”
column1 | column2 | column3 | ....
john | store | staff
luis | front | staff
carlos| store | temp
luis | front | staff
我想要的是 table 这样的:
user | dept
john | store
luis | front
john | front
我的第一次尝试:
create table users
as
select distinct column1,column2
from table1
where column3 ='staff'
但这不是正确的语法,它说“关键字 select 附近的语法不正确。
所以我的第二次尝试是这样的:
创建 table
作为
Select Distinct column1, from table1 group by column2 where column3 = 'staff'
但是这种尝试给了我同样的错误。我的 SQL 语法知识并不像你看到的那么好,所以我想首先知道是否可以做这样的事情,其次什么是正确的语法。这样我就可以创建一个我可以使用的索引 table,而不必在 power bi 中创建它。
您可以根据您的 SELECT
语句创建一个 table。
select distinct column1, column2
into table2
from table1
where column3 ='staff'
上面的语句将根据 SELECT
中的列及其数据类型创建一个名为 table2 的新 table .在这种情况下 table2 将有两列名称为 column1 和 column2.
如果您希望从 select 查询中获取 table 模式,Emin 有办法做到这一点,这可能正是您想要的。如果您愿意,请查看他的回答,因为这是创建和插入的正确语句。
如果你想 select 到你创建的 table 中,创建 table 然后你可以使用 SELECT DISTINCT 语句作为你的 INSERT INTO询问。这更像是:
INSERT INTO NewTableName (Column1, Column2)
SELECT DISTINCT Column1, Column2
FROM TableNameHere
WHERE Condition = "something"
如前所述,您必须先使用此方法创建 table,但您可以显式控制 table 中的列(注意类型的更改将需要 CAST 或在 SELECT).
中转换为新类型
我有一个 table,我们称它为 table1,它有很多列,对于这个 table 我现在想创建一个新的 table,其中包含独特的table1 的一列的值分组或与另一列的唯一值如果在第三列中 teh 值等于“staff”
column1 | column2 | column3 | ....
john | store | staff
luis | front | staff
carlos| store | temp
luis | front | staff
我想要的是 table 这样的:
user | dept
john | store
luis | front
john | front
我的第一次尝试:
create table users
as
select distinct column1,column2
from table1
where column3 ='staff'
但这不是正确的语法,它说“关键字 select 附近的语法不正确。
所以我的第二次尝试是这样的: 创建 table 作为
Select Distinct column1, from table1 group by column2 where column3 = 'staff'
但是这种尝试给了我同样的错误。我的 SQL 语法知识并不像你看到的那么好,所以我想首先知道是否可以做这样的事情,其次什么是正确的语法。这样我就可以创建一个我可以使用的索引 table,而不必在 power bi 中创建它。
您可以根据您的 SELECT
语句创建一个 table。
select distinct column1, column2
into table2
from table1
where column3 ='staff'
上面的语句将根据 SELECT
中的列及其数据类型创建一个名为 table2 的新 table .在这种情况下 table2 将有两列名称为 column1 和 column2.
如果您希望从 select 查询中获取 table 模式,Emin 有办法做到这一点,这可能正是您想要的。如果您愿意,请查看他的回答,因为这是创建和插入的正确语句。
如果你想 select 到你创建的 table 中,创建 table 然后你可以使用 SELECT DISTINCT 语句作为你的 INSERT INTO询问。这更像是:
INSERT INTO NewTableName (Column1, Column2)
SELECT DISTINCT Column1, Column2
FROM TableNameHere
WHERE Condition = "something"
如前所述,您必须先使用此方法创建 table,但您可以显式控制 table 中的列(注意类型的更改将需要 CAST 或在 SELECT).
中转换为新类型