2011-07-11 17 views
4

MySqlで2つの異なるクエリを実行する必要がある状況がありますが、これはMySqlで可能です。選択クエリです。どのように私は条件付きMySqlクエリ

select * from if(somecondition) then Query 1 else query 2 
+2

のようなものがある[ 'IF()'制御フロー関数(http://dev.mysql.com/doc/refman/5.0/en/control-flow- functions.html#function_if)。しかし、これがあなたが必要とするものかどうかを判断することは難しいです。私はあなたがデータ、テーブル構造と望ましい出力の例を提供しなければならないと思う。 – jensgram

+0

あなたの病状は? –

+0

なぜこの質問は無効にされていますか:( – kinkajou

答えて

3
IF MyCondition = True THEN 
    Select * from table1; 
ELSE 
    Select * from table2; 
END IF; 

Reference

+1

これはあなたが望むものだと思います。 TableAとTableBは異なる列を持つ可能性があり、DBサーバーはサブクエリから戻ってくる列を知っている必要があることを理解しています。 –

+1

これはストアドプロシージャの内部になければなりません。あなたのコードがその状況に対処する準備ができていないかぎり、問題が発生します。 – siride

+0

@hamlinありがとうございます@Sirideストアドプロシージャは不要です。 – kinkajou

0

conditonallyこれらのクエリに

を実行しない

eg. Query1: Select * from table1 
    Query2: Select * from table2 

は今、私は、これは労働組合、 を使用して行うことができると思う私はそれが役に立てば幸い共有するために、小さな例を持っています...

例:

SELECT TEXT,language 
FROM TABLE 
WHERE LANGUAGE = 'spanish' 
union all 
select text,language 
from TABLE as t 
where language = 'english' 
and not exists 
(select * 
from table 
where language = 'spanish' 
and table.pid = t.pid) 
+0

これは本当に条件付きではありません。 –

+0

@Thanksしかし私の要求ではありません – kinkajou