0

次のコードは、別のテーブルのパラメーターに一致するか、ID にまったく一致しない結果を返すことになっています。

これは私の試みであり、なぜうまくいかないのかわかりません。結果の数の何倍も返されます。

SELECT *
  FROM table2, table1
  WHERE table1.ID = table2.name 
        AND table1.value = 1 
        OR table1.ID != table2.name

これはどのように修正できますか

4

2 に答える 2

0

Looks like you need some parenthesis

FROM table2, table1 WHERE (table1.ID = table2.name AND table1.value = 1) OR table1.ID != table2.name

FROM table2, table1 WHERE table1.ID = table2.name AND (table1.value = 1 OR table1.ID != table2.name)
于 2012-06-29T07:07:27.313 に答える
0

次の 2 つのことを行うことができます。

  • 左外部結合 (または右)
  • または完全外部結合

それらの説明については、こちらをご覧ください: http://www.w3resource.com/sql/joins/perform-a-full-outer-join.php

SELECT *
  FROM table2, table1
  WHERE table1.ID = table2.name(+) 
        AND table1.value = 1 

例がありますが、テストされていませんが、うまくいくと思います

于 2012-06-29T07:08:15.787 に答える