我有一个数据库与3表记录,类别,关系。自我加入与其他表上的内部联接
records (id, lat, lng)
categories (c_id, c_value)
relational (r_id, c_id)
records
id | lat | lng
----------------------
1 23.57258 -35.28412
2 23.54855 -35.18881
3 23.74128 -35.17469
categories
c_id | c_value
---------------
100 groceries
101 bags
102 drinks
relational
id | c_id
------------
1 100
1 102
2 101
3 100
的relational.r_id = records.id和relational.c_id = categories.c_id 我想从不同c_value记录采取对,所以我想做个自我记录中加入并在内部联接类别和关系。 我做了这个没有自我的记录
SELECT id, lat, lng, c_value
FROM records
JOIN relational
ON records.id = relational.id
JOIN categories
ON relational.c_id = categories.c_id
WHERE c_value = "V1"
加入我想是这样的,但没有奏效。我对R1.c_value有问题。
SELECT R1._id, R1.lat, R1.lng, R1.c_value, R2._id, R2.lat, R2.lng,
R2.c_value
FROM records R1, records R2
JOIN relational
ON records.id = relational.id
JOIN categories
ON relational.c_id = categories.c_id
WHERE R1.c_value = "groceries" AND R2.c_value = "bags"
你知道我该如何结合这3个连接以从记录中取出2行与其他表的标准? 我希望有一个这样的输出: 对于“杂货”和“袋”为c.value
1 | 23.57258 | -35.28412 | groceries | 2 | 23.54855 | -35.18881 | bags
在相同的查询中混合使用“逗号连接”和“连接”语法通常是一个糟糕的想法....使用“逗号连接”符号通常是一个糟糕的主意。 – Uueerdo
我觉得这个问题很难理解。你能否提供一些样本数据和你试图获得的结果? – Mureinik