无法让选择查询工作

Posted

技术标签:

【中文标题】无法让选择查询工作【英文标题】:can't get select query to work 【发布时间】:2012-04-22 18:31:06 【问题描述】:

我想在 C 中使用 mysql 数据库中的 Select 查询:

mysql_query(conn,"SELECT SI AS SUBSCRIBER_ID ,TG2 AS TAG_ID, SUM(CTR) AS NBR FROM (SELECT H.SUBSCRIBER_ID AS SI, TG.TAG_ID AS TG1,T.TAG_ID AS TG2, COUNT(TG.TAG_ID) AS COUNTER,CASE WHEN (TG.TAG_ID = T.TAG_ID) THEN COUNT(TG.TAG_ID) ELSE 0 END AS CTR from content_hits H left join  CONTENT_TAG TG ON TG.CONTENT_ID = H.CONTENT_ID LEFT JOIN TAG T ON 1= 1 GROUP BY H.SUBSCRIBER_ID, TG.TAG_ID,T.TAG_ID) AS TAB GROUP BY SI,TG2");

之后,我想用'NBR'来填充一维数组。

我试过这个:

result = mysql_store_result(conn);

while ((row = mysql_fetch_row(result)))

  t[i]=*row['NBR'];
  printf("%d",t[i]);

但是没有用。

【问题讨论】:

mattgemmell.com/2008/12/08/what-have-you-tried @holy 怎么不起作用?有错误信息吗?出乎意料的结果?请更具体地说明问题所在。 你能编辑你的帖子并添加查询,也许还有表格的架构吗? 【参考方案1】:

您不能像 t[i]=*row['NBR']; 那样按名称访问行列。例如,使用 fields = mysql_fetch_fields(result); 获取列名并遍历字段数组以查找 id 为“NBR”的列。然后可以在t[i]=row[id]; 中使用此 ID。这一切都在 mysql 连接器文档http://dev.mysql.com/doc/refman/5.0/en/mysql-fetch-fields.html

【讨论】:

以上是关于无法让选择查询工作的主要内容,如果未能解决你的问题,请参考以下文章

无法让光谱颜色选择器工作

VB.NET 中的 SQL 选择查询

如何在 Access 查询中选择前 1 - 并实际让它工作

无法让(这个)jQuery 选择器工作

Mysql 选择查询计数和 Distinct 无法正常工作

SQL Server 用户定义函数返回表——不能从选择查询中调用它