MySQL - 使用另一个表中的列排序行并且不重复数据
Posted
技术标签:
【中文标题】MySQL - 使用另一个表中的列排序行并且不重复数据【英文标题】:MySQL - order rows with a column from another table and don't repeat data 【发布时间】:2016-08-08 07:08:43 【问题描述】:更新 - 没关系,我用 php 端修复它并使用“不同”最终查询(解决方案)是这样的:
SELECT Distinct m.idDenuncia FROM denunciaMedicamentos AS m JOIN denuncias AS p WHERE p.id=m.idDenuncia ORDER BY m.medicamento
SELECT * FROM denunciaMedicamentos AS m
JOIN denuncias AS p
WHERE p.id=m.idDenuncia
ORDER BY m.medicamento
它有效,但它重复列 id
和 idDenuncia
。结果如下:
idDenuncia
是对 denuncias 表的引用。
我想知道,我该怎么做才能不重复数据 (id
)?
【问题讨论】:
在结果中选择你想要的列而不是 * 是的,谢谢@Oldskool 但是.. 我想知道我能做些什么来防止“idDenuncia”列的重复值? 在选择中使用 m.idDenuncia。 【参考方案1】:现在,我知道您不希望 128 在您的结果中重复。如果这是您想要使用的:
SELECT distinct(m.idDenuncia) FROM denunciaMedicamentos AS m JOIN denuncias AS p WHERE p.id=m.idDenuncia ORDER BY m.medicamento
【讨论】:
但是您仍然需要检查您的条目...您有两条记录的原因是因为您有两个对应的条目 id【参考方案2】:从一个表中选择所有并从另一个表中选择将解决您的问题
SELECT m.*,p.col1,p.col2 FROM denunciaMedicamentos AS m JOIN denuncias AS p WHERE p.id=m.idDenuncia ORDER BY m.medicamento
【讨论】:
感谢您的帮助,我想知道如何防止“idDenuncia”列出现重复值?以上是关于MySQL - 使用另一个表中的列排序行并且不重复数据的主要内容,如果未能解决你的问题,请参考以下文章