如何比较和选择表之间的SQL列

时间:2019-01-07 14:19:26

标签: sql sql-server

让我们说我有一个包含2个表的数据库,如下所示:

  

书籍(名称,出版商)和

     

发布者(姓名,电子邮件)

现在我有一本书叫Book A,其中有publisher apublisher a,电子邮件是sth@gmx.com

我希望输出为sth@gmx.com,即该书的出版商的详细联系方式。

有没有办法做到这一点?我是Sql Server的新手。所以,也许我错过了一些显而易见的事情。

4 个答案:

答案 0 :(得分:0)

要合并结果,应使用JOIN。 在这种情况下:

this.componentBViewChild.functionFoo();

但是您应该在图书应将出版商ID作为外键存储的行上确实使用ID。

答案 1 :(得分:0)

结构如下(根据您的解释):

PRAGMA writable_schema=ON;
VACUUM;

答案 2 :(得分:0)

因此,您选择的是出版该书的出版商的电子邮件,称为A。基于以上两个表和每个表中的两列,您可以在下面的查询中使用,前提是Book中的Publisher和Publisher表中的名称相同。 >

  SELECT p.email FROM Publisher p JOIN Book b 
  ON b.publisher = p.name WHERE b.name = 'A';

答案 3 :(得分:0)

您可以使用inner join尝试以下操作。

create table Book (Name Varchar(50), Publisher Varchar(50))
insert into Book Values ('Book A', 'publisher a')

Create table Publisher (Name Varchar(50), Email Varchar(50))
insert into Publisher Values('publisher a', 'sth@gmx.com')

select Publisher.Email 
FROM Publisher
inner join Book on Publisher.Name = Book.Publisher
where Book.Name = 'Book A' and Publisher.Name = 'publisher a'

您可以了解有关SQL连接here

的信息

输出如下所示

Email
-----------
sth@gmx.com

您可以找到实时演示Live Demo