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

时间:2012-05-16 14:05:28

标签: php mysql sql

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

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

提前致谢...

2 个答案:

答案 0 :(得分:0)

你应该学习一些关于加入桌子的事情......

不知道两个表之间的关系(简单地说:一个表中的哪个列指向另一个表中的哪个列),但尝试类似的东西(需要修改以满足您的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)中创建一个具有如此长名称的表,所以尽量让它更短,同时还要自我描述... < / p>

如果您想加入表格,他们必须有关系,请在此处详细了解关系及其使用方法:http://net.tutsplus.com/tutorials/databases/sql-for-beginners-part-3-database-relationships/

答案 1 :(得分: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 Documentation here