带条件的mysql查询

带条件的mysql查询,mysql,Mysql,表:书签 id asset type 1016 8271 asset 1017 8272 federated 1018 8273 asset 表:发布 asset published_value 8271 1 8273 0 我的预期结果: id asset published_value 1016 8271 1 1017 8272 我需要打印所有记录,资产的发布值为0除外。 这就是书签中

表:书签

id    asset   type   

1016  8271    asset   

1017  8272    federated

1018  8273    asset
表:发布

asset   published_value

8271    1

8273    0
我的预期结果:

id    asset   published_value

1016  8271    1

1017  8272    
我需要打印所有记录,资产的发布值为0除外。

这就是书签中的类型字段,它包含许多类型,如资产和联合

我的查询应该打印条件已发布的表书签中的所有记录。\u值不应为零

任何帮助都是感激和感激的

提前感谢..

试试这个:

SELECT b.id, b.asset, p.published_value
FROM bookmark b LEFT JOIN publish p
ON b.asset = p.asset
WHERE p.published_value IS NULL
      OR p.published_value > 0

确实需要打印“已发布”值也为空的条目吗?@@sll:否。在我的预期结果中,第二行的“发布”值为空。因为它的类型是联合的。它与发布表没有任何关系。是的,我把它变成空的。好的,你试过我和马可已经提供的问题了吗?是的。是的。但冲突正在加剧。正常选择查询和使用以下查询之间的计数差异正在改变。正在检查..查询工作不正常。。它不会带来联邦类型。它只关注资产类型oops,我刚刚删除了我的帖子,因为我看到你的代码“正确”,我认为我看到了一些不存在的东西:)
SELECT b.id, b.assed, ISNULL(p.published_value, '')
FROM bookmark b 
LEFT JOIN publish p ON b.asset = p.asset 
WHERE p.published_value IS NULL OR p.published_value > 0