![](/img/trans.png)
[英]MySQL/PHP - Select all the rows where column from table 1 is equal to column from table 2 and creating a foreach loop
[英]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.