一个相当可怕的问题,对不起!
因此,我有一个表格,它给我一个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 发布于 2014-07-02 07:49:24
AFAIK,您不能在SQL中这样做。因此,您必须执行第一个查询,然后使用第一个查询的结果生成第二个查询(具体操作取决于所使用的语言)。
但是请注意,IMHO,这是一个非常糟糕的模式。您应该有一个表oempro_subscribers和一个包含XXX的额外列。
发布于 2014-07-02 07:50:05
也许您可以使用准备好的语句,如下面所描述的:How To have Dynamic SQL in MySQL Stored Procedure
..。但我真的认为你需要修正你的模式。
发布于 2014-07-02 08:02:02
听起来您可能需要使用某种动态SQL。
我不认为你一步就能做到。
1)可以使用第一个查询的结果来获取表名。2)可以使用该结果对第二个表生成“动态”查询。
看看文件。
http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html
https://stackoverflow.com/questions/24525584
复制相似问题