你如何 UNION 2 table s based with a primary Key with different fields in either table?
How do you UNION 2 tables based having a primary Key with different fields in either table?
鉴于这种情况:
我有 2 tables,1 本书和其他看起来像这样的客户 -
Books
----------
CustomerId
BookTitle2
Customers
----------
CustomerId
FirstName
LastName
BookTitle
客户 table 有一个 BookTitle 字段,其中包含客户从其他来源获得的书籍名称(或者它们可以是他们可以手动输入该字段的书籍)
图书 table 可以拥有与客户 table 中相同的客户,但 table 中的图书来自出版商输入的图书。
我将如何编写一个 SQL 查询以根据 CustomerId 为特定客户获取客户 table 中的所有记录,并从 Books [=28] 中添加记录=]到返回的记录集?
最终结果类似于:
CustomerId | FirstName | LastName | BookTitle
CustomerId | FirstName | LastName | BookTitle2
我可以在 Books table 中创建空的伪字段来对应客户 table 并执行 UNION 但我希望能够过滤特定的客户 ID 在查询中的一个地方获取来自tables
的记录组合
试试这个:
Select CustomerId, FirstName, LastName, BookTitle
from Customers
where ...
UNION
Select CustomerId, '' as FirstName, '' as LastName, BookTitle2 as Booktitle
from Books
where...
请注意,上述查询中的WHERE
条件是可选的,您可以适当使用它们。
希望这可以帮助。如果它解决了您的问题,请分享您的想法。
鉴于这种情况: 我有 2 tables,1 本书和其他看起来像这样的客户 -
Books
----------
CustomerId
BookTitle2
Customers
----------
CustomerId
FirstName
LastName
BookTitle
客户 table 有一个 BookTitle 字段,其中包含客户从其他来源获得的书籍名称(或者它们可以是他们可以手动输入该字段的书籍)
图书 table 可以拥有与客户 table 中相同的客户,但 table 中的图书来自出版商输入的图书。
我将如何编写一个 SQL 查询以根据 CustomerId 为特定客户获取客户 table 中的所有记录,并从 Books [=28] 中添加记录=]到返回的记录集?
最终结果类似于:
CustomerId | FirstName | LastName | BookTitle
CustomerId | FirstName | LastName | BookTitle2
我可以在 Books table 中创建空的伪字段来对应客户 table 并执行 UNION 但我希望能够过滤特定的客户 ID 在查询中的一个地方获取来自tables
的记录组合试试这个:
Select CustomerId, FirstName, LastName, BookTitle
from Customers
where ...
UNION
Select CustomerId, '' as FirstName, '' as LastName, BookTitle2 as Booktitle
from Books
where...
请注意,上述查询中的WHERE
条件是可选的,您可以适当使用它们。
希望这可以帮助。如果它解决了您的问题,请分享您的想法。