1
可以說,我有以下幾列一個成員表:MySQL if /條件查詢?
id, first, last, email, type, expires, parentid
其中type可以是「父母」和「孩子」
如果我查詢的ID,它是一個孩子,我該怎麼辦返回孩子信息的名稱和父母的過期/名字?
基本上是這樣的:
select
first,
last,
email,
if (type = "child"
select
expires,
first as parent_first,
last as parent_last
from members
where id = parentid)
else (expires)
from members where id = 100
有趣。從事物的編碼方面來說,獲得不可能設置的東西的價值可能會造成麻煩(比如查詢一個不存在的列)......所以一定會解釋爲什麼我從來沒有看過這個方向。但是,這將要求我在演示文稿端「如果!過期然後是parent_expires」,我希望通過總是有一個「過期」來避免。感謝您的迴應和解釋! :) – Ahhk
@Ahhk不,您不需要在演示文稿端執行「if!expires then parent_expires」。這就是'COALESCE()'爲你處理的。如果它存在,則返回父項到期,否則該子項過期(假定沒有父項) –
啊!這一切都開始有意義了:)再次感謝。 – Ahhk