我有两个表,一个是指数,另一个是价格结构,如下
table: index
columns: trandate, indexcode
table: price
Columns: truncate, symbol, price
我想知道缺失的价格。为此,我发出查询:
select i.trandate,i.indexcode,p.trandate,p.price
from index i
left join price p on i.trandate = p.trandate
where p.symbol='ABC' and indexcode="New"
即使价格表中缺少各种价格,上述查询也不会显示空日期。我了解的唯一原因是索引表没有符号字段,这就是为什么...但是按照理论,如果您想显示一个表的所有行,而仅显示另一个表的匹配值,则使用左连接或右连接查询...请有人帮忙吗?
最佳答案
如果你这样做
where p.symbol='ABC' and indexcode="New"
您只会获得符合要求的匹配。因此,它们都必须带有一个符号“ ABC”。现在,我不确定为什么您希望执行此操作时会出现NULL值,但是我认为这是您的意思吗?
where (p.symbol='ABC' OR p.symbol IS NULL) and indexcode="New"
关于mysql - mysql左加入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9992271/