[英]Joining two MySQL tables where the join condition is from one of the tables
[英]MySQL join two tables where WHERE statement from PHP variable already exists
我通常会像这样加入:
$query = "SELECT table1.ColA, table2.ColC ".
"FROM table1, table2".
"WHERE table1.uid = table2.uid";
但在这种情况下,WHERE部分已经用于使用PHP变量指定记录。 在这种情况下如何加入表2?
SELECT SQL_CALC_FOUND_ROWS ColA, ColB FROM Table1 WHERE value = $value
他们已经加入了。 它是一样的
SELECT table1.ColA, table2.ColC
FROM table1
INNER JOIN table2 ON table1.uid = table2.uid
如果需要添加更多条件,请将它们添加到WHERE
子句中:
SELECT table1.ColA, table2.ColC
FROM table1, table2
WHERE table1.uid = table2.uid
AND value = $value;
或者,使用ANSI SQL-92语法:
SELECT table1.ColA, table2.ColC
FROM table1
INNER JOIN table2 ON table1.uid = table2.uid
WHERE value = $value;
请注意:您应该始终使用后面的语法,使用JOIN
连接WHERE
子句的instaed表。 这是推荐的方法。 有关更多信息,请参阅此帖子 。
请试试这个
$query = "SELECT table1.ColA, table2.ColC FROM table1,
table2 WHERE table1.uid = table2.uid and table1.value=$value";
要么
$query = "SELECT table1.ColA, table2.ColC FROM table1 INNER JOIN table2
ON (table1.uid = table2.uid) WHERE table1.value=$value";
尝试这个 ::
SELECT
SQL_CALC_FOUND_ROWS ColA,
ColB
FROM table1, table2
WHERE value = $value
and table1.uid = table2.uid
或者您可以通过表格加入表格
SELECT
SQL_CALC_FOUND_ROWS ColA,
ColB
FROM table1 INNER JOIN table2 on table1.uid = table2.uid
WHERE value = $value
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.