簡體   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