首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用MySQL连接两个表,其中另一个表在另一个表中没有等效值

使用MySQL连接两个表,其中另一个表在另一个表中没有等效值
EN

Database Administration用户
提问于 2018-06-14 03:47:15
回答 1查看 28关注 0票数 1

我想连接两个表,其中一些行在另一个表中没有值。

这是第一张表:

代码语言:javascript
运行
复制
ID      TDNO    lotNO   area    VALUE      DATE    MEMO    
------  ------  ------  ------  ---------  ------  --------
100     1       111     100     100.00     2015    ASDASD  
101     2       222     100     100.00     2015    SDFSDF  
102     3       333     200     100.00     2015    TEST    
103     4       444     200     200.00     2015    FOO     
104     5       555     330     200.00     2015    BAR     
105     100     100     100     11,000.00  2016    100     

这是第二张表:

代码语言:javascript
运行
复制
tdno    hiid    sequence_no  
------  ------  -------------
100     qwerty              0
A) 1    qwerty              1
2       qwerty              2
3       qwerty              3
4       qwerty              4
5       qwerty              5

我想要的是加入两个表,但正如您所看到的,另一个表中有一个没有值的行。怎么加入这个?

到目前为止,这是我的疑问:

代码语言:javascript
运行
复制
SELECT 
  ht.ID,
  ht.TDNO,
  ht.lotNO,
  ht.area,
  FORMAT(ht.assess_value, 2) AS 'VALUE',
  ht.EFF AS 'DATE',
  ht.memoranda AS 'MEMO',
  ts.hiid,
  ts.sequence_no 
FROM
  history_table ht 
  RIGHT JOIN td_sequence ts 
    ON ts.`tdno` = ht.`TDNO` 
WHERE hiid = 'qwerty' 
  AND sequence_no >= '0'
  ORDER BY sequence_no ASC

其结果是:

代码语言:javascript
运行
复制
ID      TDNO    lotNO   area    VALUE      DATE    MEMO    hiid    sequence_no  
------  ------  ------  ------  ---------  ------  ------  ------  -------------
105     100     100     100     11,000.00  100     100     qwerty              0
(NULL)  (NULL)  (NULL)  (NULL)  (NULL)     (NULL)  (NULL)  qwerty              1
101     2       222     100     100.00     2015    SDFSDF  qwerty              2
102     3       333     200     100.00     2015    TEST    qwerty              3
103     4       444     200     200.00     2015    FOO     qwerty              4
104     5       555     330     200.00     2015    BAR     qwerty              5

我想要的是这样

代码语言:javascript
运行
复制
ID      TDNO    lotNO   area    VALUE      DATE    MEMO    hiid    sequence_no  
------  ------  ------  ------  ---------  ------  ------  ------  -------------
105     100     100     100     11,000.00  100     100     qwerty              0
100     A) 1    111     100     100.00     2015    ASDASD  qwerty              1
101     2       222     100     100.00     2015    SDFSDF  qwerty              2
102     3       333     200     100.00     2015    TEST    qwerty              3
103     4       444     200     200.00     2015    FOO     qwerty              4
104     5       555     330     200.00     2015    BAR     qwerty              5

如何做到这一点?

EN

回答 1

Database Administration用户

发布于 2018-06-14 04:31:53

例如,它可以看起来像

代码语言:javascript
运行
复制
FROM table1
JOIN table2 ON table1.TDNO = SUBSTRING_INDEX(table2.tdno, ' ', -1)
票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/209626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档