从MYSQL中的两个表中选择?

时间:2013-03-01 12:02:25

标签: php mysql

尝试从两个表中进行选择,但我的代码不起作用!

这是我的代码:

("SELECT * FROM products, productsmore WHERE brand='$brand' AND brand='$brand'");

这样做的正确方法是什么?

由于

4 个答案:

答案 0 :(得分:1)

使用join:

 "SELECT * FROM products
  INNER JOIN productsmore ON productsmore.pid = products.pid 
  WHERE brand='$brand' AND brand='$brand'"

参考:http://dev.mysql.com/doc/refman/5.0/en/join.html

答案 1 :(得分:0)

JOIN的语法是:

SELECT * 
FROM products
INNER JOIN productsmore 
  on products.brand = productsmore.brand
WHERE products.brand='$brand'

INNER JOIN将返回两个表中匹配的所有行。如果您需要帮助学习JOIN语法,这里有一个很棒的visual explanation of joins

正如您所看到的,我正在加入brand列上的表格,但如果您有另一列可以加入表格,则可以更改此列表。如果您加入brand,因为您传入的值是相同的,所以您只需要在其中一个表上使用WHERE子句。

答案 2 :(得分:0)

"SELECT t1*,t2.* FROM products as t1 join productsmore as t2  WHERE t1.brand='$brand' AND t2.brand='$brand'"

因为你必须使用连接查询来从两个或多个表中选择记录。

答案 3 :(得分:0)

您应该使用JOINWHERE子句连接表中相互关联的2列。

WHERE子句的示例(不建议使用数据复制的原因)

SELECT * FROM products, productsmore 
WHERE product.productsmore_id = productsmore.id

JOIN示例

SELECT * FROM products
INNER JOIN productsmore ON product.productsmore_id = productsmore.id