繁体   English   中英

PHP / MySQL-选择表1中的列等于表2中的列的所有行

[英]PHP/MySQL - Select all the rows where column from table 1 is equal to column from table 2

我正在寻找一种可以从MySQL表中选择所有行的方法,其中table1中的列等于表2中的列。

这是我想通过代码描述的内容。 我试过了,但没有任何反应。

SELECT * FROM `table1` WHERE `table1.id`= `table2.id` ORDER by `table1.name` ASC; 

您能给我一种使此事情发生的正确方法的答案吗?

提前致谢!

您的查询缺少from子句。 更重要的是,反引号是不正确的。 并且不需要。 并且,正确的方法是使用join

SELECT *
FROM table1 JOIN
     table2
     ON table1.id = table2.id
ORDER by table1.name ASC; 

当您在反引号中有一个像“ table1.id”这样的表达式时,它会寻找一个正好叫该名称的列名-中间有一个句点。 不在 table1寻找id 如果使用反引号,则需要在表名和列名的周围分别添加反引号:

`table1`.`id`

但是,我建议您不要使用它们并命名表和列,因此它们是不必要的。 它们输入起来很麻烦,阅读起来很笨拙。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM