mysql - 如何使用自定义结果在mysql中加入同一个表

标签 mysql select join

我想加入自己的表来生成查询选择。

表 A:

ID || CID || STAT || VAL
...........................
A1 || (-) || 1 || 0
A2 || (-) || 1 || 0
A3 || (-) || 1 || 0
B1 || A1 || 2 || 20
B1 || A2 || 2 || 30
B2 || A1 || 2 || 40
B2 || A1 || 2 || 50
B3 || A1 || 2 || 60

我想将表 A 与表 A 连接起来以生成条件结果。 谁能帮我做出这样的结果?

ID || CID || VAL
...........................
A1 || B1 || 20
A1 || B2 || 40
A1 || B2 || 50
A1 || B3 || 60
A2 || B1 || 30
A3 ||    ||

感谢您的关注。

最佳答案

您可以自联接表 A 到自身:

SELECT t1.ID, COALESCE(t2.ID, '') AS CID, COALESCE(t2.VAL, '')
FROM tableA t1 LEFT JOIN tableA t2
    ON t1.ID = t2.CID
WHERE t1.CID IS NULL

点击下面的链接获取正在运行的演示:

SQLFiddle

关于mysql - 如何使用自定义结果在mysql中加入同一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36007086/

相关文章:

php - MySQL 行消失(神秘)

sql - 根据字母顺序生成数字

mysql - SQL查询获取最近30天之前的记录(不是最近30天)

sql - 如何在 JOIN 中重写子查询?

python - SQLAlchemy 通过 JSON 子字段加入

mysql - 添加左连接后结果减少

php - 如何使用 php 选择并显示同一用户的所有行,在彼此下方

php - Android JSON 和 php

mysql - Sequelize 将此作为响应返回 [ {'primaryKey' :null}] to findAll method

php - 评论者只能在他们的评论中删除评论选项