我有以下问题,我的大脑烧坏了:)
我有两个包含个人数据的表格(一个用于客户' table_a'一个用于有趣的人群' table_b')。 在第三个表格中,table_inv'两个表中都有来自invite_persons的条目(和b)。
table_inv有一个字段' invite_id'其中存储了表a或表b中的id。另一个字段' type'有价值' cust'或者'兴趣'从哪个表(a或b)中分离出来。
现在我必须从table_a / table_b获取完整数据,具体取决于字段'类型' ...
中的值我尝试了案件,但是没有结果。
我正在寻找类似的东西:
SELECT a.id, a.created, a.userid, a.type, a.inviteid, b.name_first, b.name_last, b.zip, b.city
FROM ext_event_invites a
CASE a.type
WHEN 'CUST' THEN
LEFT JOIN accounts b ON a.inviteid = b.id;
ELSE
LEFT JOIN ext_contacts b ON a.inviteid = b.id;
END CASE
WHERE a.eventid = :eventid AND a.userid = '4711'
ORDER BY b.name_last ASC, b.name_first ASC
有人能帮助我吗?
答案 0 :(得分:0)
请试试这个。这应该有用。
SELECT a.id, a.created, a.userid, a.type, a.inviteid, b.name_first, b.name_last, b.zip, b.city
FROM ext_event_invites a
IF a.type = 'CUST' THEN
LEFT JOIN accounts b ON a.inviteid = b.id;
ELSE
LEFT JOIN ext_contacts b ON a.inviteid = b.id;
WHERE a.eventid = :eventid AND a.userid = '4711'
ORDER BY b.name_last ASC, b.name_first ASC
答案 1 :(得分:0)
您可以简单地加入两个表,然后有条件地从相关表中选择数据。另一种选择如下。我认为parameters[4] = ["image_url" : imageUrl]
的替代方案是'CUST'
(对于'联系人'),所以如果它是别的话,你需要调整一下...
'CONT'