1

我没有使用 SQL 的经验,但我的任务是构建一个工作报告,我需要创建一个自定义 sql 来获得我们需要的东西。我不知道是否有人可以在不需要更多信息的情况下提供帮助,但我正在创建一份报告,显示我们发送的客户调查结果。我摸索了一下,结果是:

SELECT SUR_response.WOPK, SUR_response.completed_YN,
    SUR_response.ip_address, SUR_response.response_end_date,
    SUR_response.response_start_date, SUR_Item.ITEM_TEXT,
    SUR_item_answer.Answer_text, SUR_response_answer.answer_text 
FROM SUR_Item, SUR_response, SUR_Response_Answer, sur_item_answer
JOIN:
WHERE:SUR_Response_Answer.ITEM_ID=100

我试图这样做,SELECT *但我不想要FROM表格中的所有列。

它已经返回了结果,但是有很多问题,例如它返回了 117 页条目,而应该只有 1 页,最多 8 个条目。它似乎只是一遍又一遍地自我重复。其次,这些行不匹配或不相关。

同样,我刚刚从头开始完成所有这些工作,除了知道表和列之间的区别之外,我不知道我真正在做什么。因此,非常感谢任何帮助或更好的方向。

4

2 回答 2

0

好吧,没有太多事情要做,但这是蓝图:

SELECT SUR_response.WOPK, SUR_response.completed_YN,
       SUR_response.ip_address, SUR_response.response_end_date,
       SUR_response.response_start_date, SUR_Item.ITEM_TEXT,
       SUR_item_answer.Answer_text, SUR_response_answer.answer_text 
FROM SUR_Item
JOIN SUR_response ON Sur_Item.Item_ID=SUR_response.Item_ID
JOIN SUR_Response_Answer ON Sur_Item.Item_ID=SUR_Answer.Item_ID
JOIN sur_item_answer ON Sur_Item.Item_ID=SUR_Answer.Item_ID
WHERE SUR_Response_Answer.ITEM_ID=100

如果它仍然为您提供额外的行,则需要调整JOINand/or语句以匹配正在连接的表和键。ON没有足够的信息告诉我这些表是如何相互关联的。

于 2012-07-11T17:43:33.193 回答
0

您很可能缺少必要的连接。连接表示一个表中的字段如何引用另一个表中的另一个字段。如果不知道您的数据结构的详细信息,我们无法告诉您缺少哪些连接。

此链接解释连接: http ://www.w3schools.com/sql/sql_join.asp

于 2012-07-11T16:19:04.903 回答