一个非常严重的问题,对不起!
所以我有一个表给了我一个 listid数字,它与表名的结尾有关。我怎样才能加入那张桌子?
我的查询为我rellistid
和relsubscriberid
relsubscriberid
位于名为oempro_subscribers_XXX
的表格中,其中XXX
为rellistid
如何在该表中搜索subscriberid
?
这不是我的数据库,这是一个名为Oempro的基于网络的营销系统的数据库,我无法在任何其他表格中找到直接链接。
架构:
LinkTrackID int(11) NO PRI auto_increment
RelOwnerUserID int(11) NO MUL
RelCampaignID int(11) NO MUL
RelEmailID int(11) NO MUL
RelAutoResponderID int(11) NO MUL
RelListID int(11) NO MUL
RelSubscriberID int(11) NO
LinkURL text NO
LinkTitle varchar(250) NO
ClickDate datetime NO
答案 0 :(得分:0)
AFAIK,你不能在SQL中做到这一点。因此,您必须执行第一个查询,然后使用第一个查询的结果生成第二个查询(具体取决于所使用的语言)。
但请注意,恕我直言,这是一个非常糟糕的架构。您应该有一个表oempro_subscribers
,其中包含一个附加列,以包含XXX
。
答案 1 :(得分:0)
也许你可以使用预备语句,如下所述:How To have Dynamic SQL in MySQL Stored Procedure
...但我认为你需要修复你的架构。
答案 2 :(得分:0)
听起来您可能需要使用某种动态SQL。
我认为你不能一步到位。
1)您可以使用第一个查询的结果来获取表名。 2)您可以使用该结果针对第二个表“动态”生成查询。
查看文档。
http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html