从MYSQL的两个表中选择?
试图从两个表中选择,但我的代码不起作用!从MYSQL的两个表中选择?
这是我的代码:
("SELECT * FROM products, productsmore WHERE brand='$brand' AND brand='$brand'");
什么是这样做的正确方法是什么?
感谢
的语法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
子句。
使用加入:
"SELECT * FROM products
INNER JOIN productsmore ON productsmore.pid = products.pid
WHERE brand='$brand' AND brand='$brand'"
LEFT JOIN与两种选择都不相同,在这种情况下应该使用INNER JOIN。 – Shehabix 2013-03-01 12:04:42
编辑代码请现在检查 – 2013-03-01 12:05:46
"SELECT t1*,t2.* FROM products as t1 join productsmore as t2 WHERE t1.brand='$brand' AND t2.brand='$brand'"
因为你必须使用联接查询从两个或多个表中选择记录。
您应该使用JOIN
或WHERE
子句连接表中彼此相关的2列。对于WHERE子句(不与数据复制的原因Recomended)
例如
SELECT * FROM products, productsmore
WHERE product.productsmore_id = productsmore.id
示例JOIN
SELECT * FROM products
INNER JOIN productsmore ON product.productsmore_id = productsmore.id
可以使用连接查询了点。 – 2013-03-01 12:03:27
定义'dosen't工作!'。 – Rikesh 2013-03-01 12:03:35
@ Rikesh,如果你低估了questin,那么没有理由,没有工作意味着不起作用!如果CAR不运行,他们会说它不起作用!如果一支笔不写就意味着它不起作用。所以在这种情况下,脚本不会做它应该做的事情,这就是吐出所需的信息,这意味着它不起作用。 – user2056633 2013-03-01 12:06:43