Sql 如何编写此select语句?
如果我有Sql 如何编写此select语句?,sql,database,postgresql,Sql,Database,Postgresql,如果我有table1包含姓名、col2、col3和table2包含姓名、昵称和col6 我想执行select语句,这样我就有了一个如下表: Name, NickName, col2, col3 如果表1有3行,则新表应具有相同的行。更新以回答您的问题: 试试这个: WITH tbl2 AS (SELECT DISTINCT ON (Name) Name,Nickname FROM table2 ORDER BY Name) SELECT tbl1.Name, tbl2.Nickname, t
table1
包含姓名、col2、col3
和table2
包含姓名、昵称和col6
我想执行select语句,这样我就有了一个如下表:
Name, NickName, col2, col3
如果
表1
有3行,则新表应具有相同的行。更新以回答您的问题:
试试这个:
WITH tbl2 AS (SELECT DISTINCT ON (Name) Name,Nickname FROM table2 ORDER BY Name)
SELECT tbl1.Name, tbl2.Nickname, tbl1.col2, tbl1.col3 FROM
table1 tbl1 INNER JOIN tbl2 ON tbl1.Name = tbl2.Name
免责声明:我还没有测试过这个。让我知道它是否有效。我想你的意思是
在上,而不是在哪里
?另外,假设您在table1
中有1行,在table2
中有4行,那么当满足条件table1.Name=table2.Name
时,您将获得多行。那么您如何知道从表2中选择哪条记录呢?!你只想要第一场比赛吗?这可能会引起有趣的行为。