Mysql 从多个表中选择相同的数据并忽略其他列
我试图从多个共享一些公共数据的表中选择行 表1和表2中的常见数据是:名称、内容,但表2使用uname而不是名称,但它们是相同的 表2有一个额外的日期和U列,我想忽略它,但按U搜索 表1有一个额外的列,名为country,我忽略了它 实际上,我正在运行2个查询,而不是1个 我正在运行的两个查询是:Mysql 从多个表中选择相同的数据并忽略其他列,mysql,sql,database,mariadb,Mysql,Sql,Database,Mariadb,我试图从多个共享一些公共数据的表中选择行 表1和表2中的常见数据是:名称、内容,但表2使用uname而不是名称,但它们是相同的 表2有一个额外的日期和U列,我想忽略它,但按U搜索 表1有一个额外的列,名为country,我忽略了它 实际上,我正在运行2个查询,而不是1个 我正在运行的两个查询是: SELECT DISTINCT name, content FROM table1 WHERE name LIKE '%foo%' SELECT DISTINCT uname, content, u F
SELECT DISTINCT name, content FROM table1 WHERE name LIKE '%foo%'
SELECT DISTINCT uname, content, u FROM table2 WHERE uname LIKE '%foo%' AND U = 1
我试过这样的方法:
SELECT DISTINCT t1.*, t2.* FROM table1 t1, table2 t2 WHERE t1.name LIKE '%foo%' AND t2.uname LIKE '%foo%' AND t2.U = 1
但它并没有像我想要的那样工作,我怀疑在谈论绩效时它是否有好处
我非常感谢您的帮助从您描述的您希望加入过滤:
select . . . -- whatever columns you want here
from table1 t1 join
table2 t2
on t1.name = t2.uname
where t1.name LIKE '%foo%' and t2.u = 1;
示例数据和期望的结果将非常有用。是否可以在多个列上连接到?例如,如果t2中的内容是ucontent?在t1.name=t2.uname上变为t1.name=t2.uname和t1.content=t2.ucontent,对吗?@niqacoder。是的,如果这是您想要的联接条件。