0
我有一张表格,其中描述了建筑物的状况。其中一些句子属于“完整”类别,一些属于“准备”类别。我也有两个表格(完整的,准备的),其中包括建筑物ID和句子ID。所以每个建筑物都由两张表格来描述(完整,准备)。我想创建一个查询,其结果将有两列 - >建筑物的描述。将数据从两个表格分成两列
----------- ----------------------- ----------------------
SENTENCES COMPLETE PREPARING
----------- ----------------------- ----------------------
ID | text ID_HOUSE | ID_SENTENCES ID_HOUSE | ID_SENTENCES
----------- ------------------------ ------------------------
1 | One 1 | 1 1 | 3
2 | Two 1 | 2 2 | 1
3 | Tree 2 | 2
我想是这样的:(房屋1)
COMPLETE | PREPARING
------------------------------
One | Tree
Two | NULL
我创造了这个,但它不工作。
SELECT s.text AS complete,
(
SELECT s.text
FROM sentences AS s
LEFT JOIN preparing AS p ON s.id = p.id_sentences
WHERE s.id_house = 1
) AS preparing
FROM sentences AS s
LEFT JOIN complete AS c ON s.id = c.sentences
WHERE s.id_house = 1
这是我得到
1242 - 子查询返回多个1行
方案
我试图做一个图,但不幸的是我做的没有足够的声望点上传,所以它隐藏在这里:。
你好,外键ID_HOUSE和ID_SENTENCES。 ID_SENTENCES来自SENTENCES表,ID_HOUSE来自表HOUSES(这里没有给出。)我想列出包含“Sentences”数据的两列。这些数据适用于“完成”和“准备”表中指定的单个建筑物。 – Radicz
你的命名约定是有点混乱对我来说,是s.id_house是一样s.id,你可以列出其列,因为在句子互相关联,你有哪些ID号? ID_house或ID_sentences和你的房屋表你在哪里使用它。 – scc
你好,我添加了一个简单的方案,抱歉的混淆描述。 – Radicz