0

我正在建立一个站点,我需要检索一些信息。我有这个查询。

$SQL = "SELECT distretto_108, provinca_113, regioni_116, tipologia_pdv_106, 
        richiesta_ccnl_107, coop_va_109, nome_pdv_110, 
        indirizzo_pdv_111, localita_112 
        FROM civicrm_value_informazioni_su_tute_le_schede_p_22 ";  

我需要添加其他代码:

WHERE civicrm_event.title_en_US='".addslashes($_GET["titles"])."' 

但它不起作用......我需要将另一个表的id与当前表的id进行比较......怎么做?

提前致谢...

4

2 回答 2

0

你应该学习一些关于加入表格的知识......

不知道两张表之间的关系是什么(简单地说:一张表中的哪一列指向另一张表的哪一列),但尝试类似的东西(需要修改以满足您的数据库结构) - 现在假设两个表都有名为 event_id 的相关列:

$SQL = "SELECT distretto_108, provinca_113, regioni_116, tipologia_pdv_106, 
        richiesta_ccnl_107, coop_va_109, nome_pdv_110, 
        indirizzo_pdv_111, localita_112 
    FROM civicrm_value_informazioni_su_tute_le_schede_p_22 cvistlsp22
    LEFT JOIN civicrm_event ce ON ce.event_id = cvistlsp22.event_id
    WHERE ce.title_en_US='".mysql_real_escape_string($_GET["titles"])."'";

civicrm_value_informazioni_su_tute_le_schede_p_22表名很长,您将无法在其他 DBMS(例如 ORACLE)中创建具有如此长名称的表,因此请尝试使其更短,同时仍然可以自我描述...

如果您想加入必须有关系的表,请在此处阅读有关关系以及如何使用它们的更多信息:http: //net.tutsplus.com/tutorials/databases/sql-for-beginners-part-3-database-关系/

于 2012-05-16T14:17:02.680 回答
0

您正在查询中从表 civicrm_value_informazioni_su_tute_le_schede_p_22 中检索数据,而您添加的 where 子句引用表 civicrm_event。您需要在 from 子句中添加这个新表,并使用一些公共键在两个表之间进行连接。下面的例子:

$SQL = "
SELECT distretto_108, provinca_113, regioni_116, tipologia_pdv_106, richiesta_ccnl_107, coop_va_109, nome_pdv_110, indirizzo_pdv_111, localita_112 
FROM civicrm_value_informazioni_su_tute_le_schede_p_22 
  JOIN civicrm_event ON civicrm_value_informazioni_su_tute_le_schede_p_22.ID_PK = civicrm_event.ID_FK
WHERE civicrm_event.title_en_US='".addslashes($_GET["titles"])
"; 

您需要将 ID_PK 和 ID_FK 替换为将表绑定在一起的相关主键和外键。

请注意,不建议使用这样的查询参数。请在此处阅读PHP 文档以获取更多说明。

于 2012-05-16T14:23:52.143 回答