3

私は通常、次のような結合を行います。

$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
4

3 に答える 3

4

彼らはすでに参加しています。と同じです

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。これは、これを行うための推奨される方法です。詳細については、この投稿を参照してください。

于 2012-11-29T11:39:14.570 に答える
3

これを試してください

$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";
于 2012-11-29T11:45:18.377 に答える
1

これを試して ::

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 
于 2012-11-29T11:38:34.943 に答える