sql-server - 用 SQL 连接 2 个表
问题描述
我有一个Customer
和Customer_2
表,我想把它连接在一起:
两个表中都有数据,但在加入语句后,只返回列名而不返回数据。我正在尝试使用以下联接语句:
select distinct *
from Customer c
join Customer_2 d on c.CUST_NUM = d.CUST_NUM
这些是表格:
CREATE TABLE [Customer]
(
[CUST_NUM] [INT] NOT NULL,
[CUST_LNAME] [VARCHAR](50) NULL,
[CUST_FNAME] [VARCHAR](50) NULL,
CUST_BALANCE [MONEY] NOT NULL,
) ON [PRIMARY]
CREATE TABLE [Customer_2]
(
[CUST_NUM] [INT] NOT NULL,
[CUST_LNAME] [VARCHAR](50) NULL,
[CUST_FNAME] [VARCHAR](50) NULL,
) ON [PRIMARY]
每个表中的数据:
INSERT INTO Customer
VALUES ('1000', 'Smith', 'Jeanne', '1050.11'),
('1001', 'Ortega', 'Juan', '840.92');
INSERT INTO CUSTOMER_2
VALUES ('2000', 'McPherson', 'Anne'),
('2001', 'Ortega', 'Juan'),
('2002', 'Kowalski', 'Jan'),
('2003', 'Chan', 'George');
预期的输出会将 customer_2 组合到 customer 表的底部,对于CUST_BALANCE
customer 2 表上的四个客户中的每一个,额外的列都是 0 或 null。
解决方案
我猜发生的事情是您的连接条件从未满足,这意味着两个表都没有cust_name
像下面的左连接那样尝试调试
select distinct *
from Customer c
Left join Customer_2 d on
c.CUST_NUM =
d.CUST_NUM
推荐阅读
- vmware-clarity - 我的问题是关于数据网格可扩展行
- c++ - 用 do-while-0 包装与用 (void)0 包装在三元运算符中
- hibernate - 持久化休眠集合映射时出现异常
- javascript - 为什么我的 JavaScript 搜索功能会重定向到“http://localhost:8090/?”?
- loops - CRAFT CMS 3 循环矩阵字段 - 变量条目不存在
- python - 动态更改函数 __name__ 会抛出 AttributeError: 'method' object has no attribute '__name__'
- jquery - 消除
- powershell - “如何修复使用“1”参数调用“LoadXml”的异常:“根级别的数据无效。第 1 行,位置 1。”
- javascript - 从数组值渲染 React 组件
- python - 比较两列的条形图