SELECT t.*, m1.MD_DESCRIPTION AS mapping_column_1, m2.MD_DESCRIPTION AS mapping_column_2 FROM supplier_info t INNER JOIN uf_MDM_jyfzsj m1 ON t.VENDOR_CODE = m1.MD_NUM INNER JOIN uf_MDM_jyfzsj m2 ON t.HIS_BUYER_VENDOR_CODE = m2.MD_NUM; t.HIS_BUYER_VENDOR_CODE 不去除其中为null的数据
时间: 2023-08-02 13:09:39 浏览: 167
如果你想在上述 SQL 语句中排除 `t.HIS_BUYER_VENDOR_CODE` 字段为 `null` 的数据,可以通过添加 `WHERE` 子句来实现。具体做法如下:
```sql
SELECT t.*, m1.MD_DESCRIPTION AS mapping_column_1, m2.MD_DESCRIPTION AS mapping_column_2
FROM supplier_info t
INNER JOIN uf_MDM_jyfzsj m1 ON t.VENDOR_CODE = m1.MD_NUM
INNER JOIN uf_MDM_jyfzsj m2 ON t.HIS_BUYER_VENDOR_CODE = m2.MD_NUM
WHERE t.HIS_BUYER_VENDOR_CODE IS NOT NULL;
```
在上述 SQL 语句中,添加了一个 `WHERE` 子句,并使用 `IS NOT NULL` 条件来筛选出 `t.HIS_BUYER_VENDOR_CODE` 字段不为 `null` 的数据。这样就可以排除其中为 `null` 的数据了。
相关问题
SELECT t.*, m1.MD_DESCRIPTION AS mapping_column_1, m2.MD_DESCRIPTION AS mapping_column_2 FROM supplier_info t INNER JOIN uf_MDM_jyfzsj m1 ON t.VENDOR_CODE = m1.MD_NUM INNER JOIN uf_MDM_jyfzsj m2 ON t.HIS_BUYER_VENDOR_CODE = m2.MD_NUM; supplier_info t t.HIS_BUYER_VENDOR_CODE 不去除其中为null的数据sql
抱歉,我刚才的回答有误。在 SQL 中,使用 `INNER JOIN` 连接两个表时,只有在连接字段的值相等的情况下,才会在结果集中返回这两个表中的数据。因此,在上述 SQL 语句中,如果 `t.HIS_BUYER_VENDOR_CODE` 的值为 `null`,那么它就无法与 `uf_MDM_jyfzsj` 表中的任何一行进行匹配,从而不会出现在结果集中。
如果你想要排除 `t.HIS_BUYER_VENDOR_CODE` 字段为 `null` 的数据,可以将 `INNER JOIN` 改为 `LEFT JOIN`,并在 `WHERE` 子句中添加条件 `t.HIS_BUYER_VENDOR_CODE IS NOT NULL`,具体如下所示:
```sql
SELECT t.*, m1.MD_DESCRIPTION AS mapping_column_1, m2.MD_DESCRIPTION AS mapping_column_2
FROM supplier_info t
LEFT JOIN uf_MDM_jyfzsj m1 ON t.VENDOR_CODE = m1.MD_NUM
LEFT JOIN uf_MDM_jyfzsj m2 ON t.HIS_BUYER_VENDOR_CODE = m2.MD_NUM
WHERE t.HIS_BUYER_VENDOR_CODE IS NOT NULL;
```
在上述 SQL 语句中,使用了两个 `LEFT JOIN` 连接表,这样即使 `t.HIS_BUYER_VENDOR_CODE` 的值为 `null`,它仍然会出现在结果集中。然后在 `WHERE` 子句中添加条件 `t.HIS_BUYER_VENDOR_CODE IS NOT NULL`,就可以排除其中为 `null` 的数据了。
阅读全文
相关推荐















