mysql - SQL查询改进(表中的额外列)

标签 mysql sql select join

我有一个 SQL 查询,我知道它写得非常糟糕。你们能帮我用正常人的方式写一下吗?

谢谢。

select distinct R.*, X.LIKED
from Recipe R
left join (select distinct R.* , '1' as LIKED 
           from Recipe R, Likes L 
           where R.id = L.idRecipe 
             and L.email = 'dvader@deathstar.galacticempire') X
on R.id = X.id

最佳答案

看起来你需要所有来自带有vader@deathstar.galacempire喜欢标记的食谱

select R.*, likedR.LIKED
from Recipe R
left join (select distinct R.id , '1' as LIKED 
           from Recipe R 
                inner join Likes L on R.id = L.idRecipe
           where  
                L.email = 'dvader@deathstar.galacticempire') likedR
on R.id = likedR.id

关于mysql - SQL查询改进(表中的额外列),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43931296/

相关文章:

html - 使用 JSP 将数据库中的自动增量 ID 显示到 html 文本字段中

mysql - MySQL 与 COUNT 的奇怪行为

php - 创建带有日期列的数据透视表的最佳方法

c# - 转换为 lambda 表达式

php - 两个表 Select Inner Join with order by 和 where and limit 子句

php - 在 SQL 查询中做简单的数学运算

如果任一列中存在值,则 MYSQL 跨两列进行计数和分组

c# - 参数名前面的@有什么作用?

mysql - 我如何更新表中的一行或如果它不存在则插入它?

MYSQL - 'SELECT' 和 'AS 只能创建一个列..如何让它们更多?