请告诉我。必须根据表前缀和从表中提取的数据,在数据库中进行选择,在该数据库中形成表的名称。
表:站点,聊天和Chat_ID(带对应的表)。
我需要从此网站获取网站ID和未读数量。我这样做:
SELECT
s.id AS id,
(SELECT
COUNT(*)
FROM
HOW TO ET TABLE NAME? AS ch
WHERE
ch.chat_id = c.id AND
status = 0 AND
type = 'CLIENT'
) AS unread
FROM
site AS s
LEFT JOIN chat AS c ON
c.site_id = s.id AND
c.operator_id = s.user_id
WHERE
s.user_id = 1;
表格的名称包含网站的前缀和ID - chat_1。
也许它不对 - 不要扔拖鞋)
答案 0 :(得分:0)
表的名称在SQL级别不可参数化。只能对文字值进行参数化。
在您的情况下,您需要根据参数值使用不同的表。为此,您需要在编程语言(Java,PHP,Python等)中将SQL构建为字符串,以连接部分以组合表名和查询的其余部分。
你没有其他解决方案。