是否可以根据条件执行两个查询之一? 伪代码示例:
IF condition
SELECT a,b,c FROM table1
ELSE
SELECT d,e,f FROM table2
P.S。我知道我可以在我的服务器代码中执行这个条件,但我正在寻找一个纯粹的Mysql解决方案。
答案 0 :(得分:3)
你必须写一个stored procedure来完成纯MySQL,因为if语句只能在compound statement syntax中使用,而{{3}}只能在存储的程序中使用(程序,功能触发器)。由于您要执行=================B00C74D6-C3F1-4039-948B-0BAC59DC0D83===================
Cell text : "Ggg"
Cell frame size : (320.0, 80.0)
UITextView frame size : (240.0, 80.0)
UITextView parent size : (240.0, 80.0)
Cell content view frame size : (320.0, 80.0)
====================================
=================2704FFF5-17D1-4E0E-9399-DD7EB4C60D36===================
Cell text : "Zyehdhzhdhdhzhejajeksvshdjajdjhhhjhhjjhhhhthhytgjuhjjyghjuyghhuygghuutghjutghkiygvcwqazdxcfeerggvbhtyjjnkkuilloomppolpôkkjjîîîukhgkurghhhhhgoohgosohsohdohsohsohshowlhdlhslhslhsglslydlgsotwyod [...]"
Cell frame size : (320.0, 411.5)
UITextView frame size : (240.0, 411.5)
UITextView parent size : (240.0, 411.5)
Cell content view frame size : (320.0, 411.5)
语句,因此只能使用存储过程。
<div id="tabs2">
<ul>
<li><a href="#tabs2-11">Attachments</a></li>
<li><a href="#tabs2-21">Contacts</a></li>
<li><a href="#tabs2-31">Link 3</a></li>
</ul>
<div id="tabs2-11"><iframe id="iframe1" width="100%" height="100%" frameborder="0" src="" /></div>
<div id="tabs2-21">
Some text
</div>
<div id="tabs2-31">...Phase 2</div>
</div>
您将从代码中调用存储过程:
select
答案 1 :(得分:0)
我找到了另一个解决方案。可能不那么经济,但由于我在离线过程中使用小表,因此并不重要。对我来说,最好的是它不需要存储过程:
SELECT * FROM (
SELECT a, b, c, 'Q_1' AS origin_query FROM table1
UNION ALL
SELECT d, e, f, 'Q_2' AS origin_query FROM table2
) temp
WHERE origin_query = IF (condition, 'Q_1', 'Q_2');