SQL 查询结果、比较和 where 子句


SQL Query result, comparison and where clause

我正在建立一个网站,我需要检索一些信息。我有这个疑问。

$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......怎么做?

提前感谢...

你应该学习一些关于连接表的知识...

不知道两个表之间的关系是什么(简单地说:一个表中的哪一列指向另一个表中的哪一列),但尝试类似的东西(需要修改以满足 You DB 结构) - 现在让我们假设两个表都有名为 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-relationships/

正在从查询中的表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 文档以获取更多说明。