尝试从两个表中进行选择,但我的代码不起作用!
这是我的代码:
("SELECT * FROM products, productsmore WHERE brand='$brand' AND brand='$brand'");
这样做的正确方法是什么?
由于
答案 0 :(得分:1)
使用join:
"SELECT * FROM products
INNER JOIN productsmore ON productsmore.pid = products.pid
WHERE brand='$brand' AND brand='$brand'"
答案 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)
您应该使用JOIN
或WHERE
子句连接表中相互关联的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