2012-02-03 2 views
0

есть в любом случае, что я в принципе можно сделать следующее в предложении SQL, (я знаю, синтаксис не является правильным, но это не точка, это идея)Если заявление в SQL запросе

set rs = select title, copy, masterID from table1

//if the masterID is not 0 then instead of using the copy from table1, use the copy from table2

if masterID<>0 then set rs2 = "select copy from table2 where masterID =" & masterID copy = rs(0)

Я надеюсь, что имеет смысл. С нетерпением ждем ваших ответов. Благодаря!

+2

Да, но синтаксис может очень сервером. Каков ваш базовый сервер баз данных? MySQL ?, SQL Server? – Chad

ответ

3

Я думаю, что вы хотите:

select title, 
     case when t1.masterID <> 0 then t2.case else t1.case end as copy, 
     masterID 
from table1 as t1 
left join table2 as t2 
    on t1.masterID = t2.masterID 
0
DECLARE @masterID int 
if(@masterID <> 0) 
    select copy from table2 where masterId = @masterID 
else 
    select title, copy, masterID from table1 
Смежные вопросы