我遇到SELECT查询问题,而不是给我一个单独的值,给了我太多。 查询如下:
SELECT costi.id, costo, descrizione, categoria
FROM costi
INNER JOIN categorie
WHERE costi.id = 140
查询从具有两个表(costi和categorie)的DB中捕获数据 db structure
我遇到的问题是: 例如,如果我在PHP上运行查询我的管理员(通过输入而不是$ _POST ['id'],成本的ID,如140)而不是仅返回带有相关数据的一行,它返回两个行(我创建的每个类别一个)。 query result
它们是相同的行,具有相同的值,但不同的类别字段除外。 我需要使用正确的数据返回一行。
答案 0 :(得分:0)
查看您的查询结果..
您可以使用group_concat在一行中获取结果
SELECT costo, descrizione, group_concat(categoria)
FROM costi
INNER JOIN categorie
WHERE costi.id = 140
group by costo, descrizione
答案 1 :(得分:0)
看起来应该是:
SELECT costi.id, costo, descrizione, categoria
FROM costi
INNER JOIN categorie
ON costi.id = categorie.id --note the join condition
WHERE costi.id = 140
答案 2 :(得分:0)
您需要使用JOIN语句中的外键
来连接2个表SELECT costi.id, costo, descrizione, categoria
FROM costi
INNER JOIN categorie ON categorie.id = costi.idcatagoria
WHERE costi.id = 140
现在查询知道2个表中哪些行彼此相关
答案 3 :(得分:0)
可以有两种方法:
使用以下查询来避免INNER JOIN
:
SELECT h.id, h.costo, h.descrizione, i.categoria
FROM costi h, categorie i
WHERE h.id = 140 and h.idcategoria=i.id
您可以将GROUP BY
与INNER JOIN
答案 4 :(得分:0)
使用以下查询避免INNER JOIN:
SELECT h.id, h.costo, h.descrizione, i.categoria
FROM costi h, categorie i
WHERE h.id = 140 and h.idcategoria=i.id
答案 5 :(得分:-1)
指定连接的任何条件。 喜欢table.id on ...
指定条件然后您将获得有限的结果