SQL Query需要稍加修改

时间:2017-06-06 20:09:28

标签: mysql sql database

select 
    IF(posty.id IS NULL, 0, 1) as posty,
    IF(strony.id IS NULL, 0, 1) as strony,
    posty.*, strony.*,
    `master`.url
from
(select 'fajne-to-jest' as url)  `master`
left join posty on posty.url = `master`.url
left join strony on strony.url = `master`.url
;

以上查询会生成以下结果:

enter image description here

它并不像我想的那样完全正常工作。因为我想要像

这样的结果

这:enter image description here 实际和期望的结果是不同的,因为在期望的结果中它消除了具有NULL值的列,并且将两次的url列减少为一。以下是进一步的视觉澄清:

enter image description here

问题是:是否可以进行此查询? 查询应该是什么样的?如何构建它?

1 个答案:

答案 0 :(得分:0)

关于显示的NULL值,您可以使用以下构造:

if (isnull(mycolumn) ,'',mycolumn) as mycolumn

关于重复列:

作为一般规则,在prod环境中,您应始终列出要在结果中显示的列,而不是使用*通配符。将通配符替换为列列表,然后进行设置。