[英]from clause in mysql case
你好,我想要的是在下面的MySQL案例中從cluse中使用
我有三個表tab1,tab2和tab3選項卡1存儲所有字段選項卡2存儲數據,如果eore的值為1(eore是選項卡1中的一個字段,其值只能是1或2),如果值是2,則其數據存儲在選項卡3中
我想要的是獲取表2或3中的相關數據的選項卡1的所有數據
查詢是一樣的
select data1,dat2 case eore when '1'
then select data14,data54,data56 from tab2
when '2' then select data22,data34,data66
from table3 end from table1 order by id desc limit 50
我試過的就像
SELECT m.verify,m.mid,
CASE eore
WHEN '1' THEN c.mobile
WHEN '2' THEN d.gender
ELSE NULL END AS 'expose'
FROM epmem m
INNER JOIN empl c ON c.rid = m.mid
INNER JOIN comp d ON d.rid = m.mid
ORDER BY m.mid DESC
LIMIT 50
它沒有顯示結果.........
您不能使用這種情況,在每個查詢中只能有一個from caluse。 左鍵連接tab1上的tab2和tab3,並使用if()函數或大小寫結構確定要顯示的字段。
select tab1.*,
if(eore=1,tab2.field1,tab3.field1) as field1,
if(eore=1,tab2.field2,tab3.field2) as field2,
...
from left join tab2 on tab1.id=tab2.id left join tab3 on tab1.id=tab3.id
我使用了假設字段來聯接表,您需要使用自己的聯接條件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.