-1

データベースに と の 2 つのテーブルがあるTable1としますTable2

Table1次の列があります。

Var1 | Var2

Table2次の列があります。

Var3 | Var4

私も定数を持っていxます。

Table1ここで、次の基準を満たすすべての行を含む SQL 式を作成したいと思います。

Var1 = x またthere is a row in Table2 where Var4=Var2 and where Var3=x

これを SQL 式として記述するにはどうすればよいですか?

から始めるべきだと思いますSELECT * FROM Table1 WHERE Var1=xが、そこから道に迷ってしまいます。

4

2 に答える 2

1

必要な魔法の要素は UNION です。これは、基本的に 1 つの結果セットを別の結果セットに追加します。

SELECT *
FROM Table1
WHERE Var1=x

UNION

SELECT *
FROM Table1
JOIN Table2 ON Table1.Var2 = Table2.Var4
WHERE Table1.Var1 <> x -- this is to avoid dups of rows that satisfy both cases
  AND Table2.Var3 = x
于 2012-10-23T21:57:18.823 に答える
0
select t1.* from table1 t1, table2 t2, table3 t3
where t1.id=1 and t2.year='2012' and t3.user='me'
and t1.id = t2.id

また

select t1.* from table1 t1
 inner join table2 t2
on t1.var2=t2.Var4
where t2.Var3 = x

2番目の方がニーズに合う可能性が高いと思います。

于 2012-10-23T21:57:20.020 に答える