【发布时间】:2015-09-17 23:32:13
【问题描述】:
最近迁移了一个服务器,我发现了这个“错误”,我有 mysql 作为数据库,我想要的(我不是 SQL 专家)是按 1:N 加入 2 个相关表,例如,
Table 1: Badges_Person
Table 2: Badges
Badges 是一个带有徽章的表,Badges_Person 包含一个类似 (id_badge, id_person) 的关系,很简单,嗯? 好吧,这个 SQL 查询似乎总是可以正常工作:
SELECT id, nombre, descripcion, insignias.time, obtained
FROM insignias LEFT OUTER JOIN
(SELECT *, '1' as obtained
FROM insignias_user
WHERE insignias_user.username = 'Octal'
) as insignias_user_seleccionado
ON insignias.id = insignias_user_seleccionado.id_insignia;
此查询的输出是带有“已获得”列(0 或 1)的徽章列表,表示用户“八进制”是否拥有该徽章。
所以...,现在,我将 mariadb 作为 DB,它返回不同的输出,其中所有行都被标记为 'obtained' = 1。
我来到这里是因为据我所知,我已经放弃了所有愚蠢的可能错误。
【问题讨论】:
标签: mysql sql left-join mariadb