我有以下简单的收件箱模拟查询(用于邮件目的)
SELECT * FROM inbox
WHERE receiver_id=:receiver_id
AND receiver_type='a'
AND spam!='y'
ORDER by date DESC, time DESC
LIMIT :paging OFFSET :offset
收件箱表有常规字段,如主题、邮件正文、日期、时间等。它还包含一个标志(sender_type),可以是“ C ”、“ L ”、“ A ”和(sender_id)
我想在 (SELECT *) 的末尾包含一个名为ext的额外字段,其中包含该特定类型用户的图像扩展名(因此我可以显示图像 - 图像格式为id,ext表示 $id 。 $ext - 1.jpg、2.png 等....
我认为做 1 个查询比我现在做的更好,这是上面的主要查询,然后对于每个条目,我扫描特定表中的 C、L 和 A 类型用户,并为他们的特定 id 请求相应的分机(sender_id ) 所以我可以展示他们的照片。
在上述 SELECT 中添加每种用户类型的图像的ext扩展名是否有用(也可能) ?我假设它是用 IF 语句完成的,但不知道如何。这不是一件简单的事情。
我为L、A和C类型的用户从 3 个不同的表 myl_u、mya_u 和 myc_c 中获取ext 。
L * A * 和C表的查询方式如下
SELECT l_id, ext, name, .. FROM myl_u
SELECT a_id, ext, name, .. FROM myl_a
SELECT c_id, ext, name, .. FROM myc_c
在 INBOX 表中,sender_id对应于l_id、a_id和c_id