gpt4 book ai didi

mysql - if 子句返回多行

转载 作者:行者123 更新时间:2023-11-29 13:32:38 25 4
gpt4 key购买 nike

我需要使用 if 子句从表中获取数据,这是我正在尝试执行的操作的示例;

select if (condition='example',
(/*query1(return more than one row)*/),
(/*query2(return more than one row)*/) as data from table1 where iduser='1'

我的完整查询:

SELECT 
if(bagian='DOKTER',
(SELECT b.ruper
from bsl_ruang b
join mr_ranap_dokter d
on (b.noregis=d.noregis)
where d.dokter = '999999'),
(SELECT u.nama
FROM m_unit u
join muser_tdinas t
on(t.unit=u.unit)
where id_user = '999999')) as ruper
FROM `muser` where id_user = '999999'

我的 table ;

bsl_ruang                    mr_ranap_dokter       
++========++======++ ++========++========++
||noregis ||ruper || ||dokter ||noregis ||
++========++======++ ++========++========++
||10000000||ruper1|| ||9999999 ||10000000||
||10000001||ruper2|| ||9999999 ||10000001||
++========++======++ ++========++========++

m_unit muser_tdinas m_user
++========++======++ ++========++========++ ++========++=======++
||unit ||nama || ||id_user ||unit || ||id_user ||bagian ||
++========++======++ ++========++========++ ++========++=======++
||00001 ||ruper1|| ||8888888 ||00001 || ||9999999 ||DOKTER ||
||00002 ||ruper2|| ||8888888 ||00002 || ||8888888 ||PERAWAT||
++========++======++ ++========++========++ ++========++=======++

摘要

所以if bagian=dokter,它将连接表bsl_ruangmr_ranap_dokter并得到ruper

并且if bagian=perawat,它将连接表m_unitmuser_tdinas并得到nama

但是if子句只能返回一个数据,还有其他方法吗?请注意,我无法更改我的数据库

最佳答案

也许这不是最好的解决方案,但我决定使用一个程序来解决我的问题,这是我的程序;

CREATE DEFINER=`root`@`%` PROCEDURE `GetRuperRanap`(lIdUser Varchar(12))
BEGIN
Declare lBagian VarChar(20);
SELECT bagian into lBagian FROM `muser` where id_user = lIdUser;
if lBagian='DOKTER' then
SELECT distinct b.ruper as ruper from bsl_ruang b join mr_ranap_dokter d on (b.noregis=d.noregis) where d.dokter = lIdUser;
else
SELECT u.nama as ruper FROM m_unit u join muser_tdinas t on(t.unit=u.unit) where id_user = lIdUser;
end if;
END;

我只需要在查询时调用它,希望它有帮助

关于mysql - if 子句返回多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19194186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com