我第一次创建API以将数据导入swift App(iOS) 但我得到了我的所有结果两次,结果不知道归属或错误的顺序...
我认为这是因为我有几张桌子,我来自。
一个例子:
$ sql =" SELECT * FROM node,field_data_body&#34 ;; // Drupal表
我听说过WHERE声明,但没有任何线索。
答案 0 :(得分:1)
当您从多个表中进行选择时,您所做的是implicit cross JOIN。不使用WHERE子句中的条件,就可以获得这些表的所有组合。
如果表是完全独立/独立的,则可以为每个表创建2个不同的SELECT查询。
否则,如果它们之间存在关系,则应选择一种最适合您目标的JOIN类型,并使用WHERE条件在查询中描述其关系。
让我们假设节点表有" id" column和field_data_body有" node_id"柱。然后查询可以是以下内容:
SELECT * FROM node
LEFT JOIN field_data_body ON node.id = field_data_body.node_id
或相同的
SELECT * FROM node
LEFT JOIN field_data_body WHERE node.id = field_data_body.node_id
Here是SQL JOIN的良好直观表示。
答案 1 :(得分:1)
据我所知,建议使用Entity API查询Drupal中的数据,这是一个文档,https://www.drupal.org/node/1343708
您还可以使用View模块设置查询,并将输出设置为JSON。
第三个选项可能是使用https://www.drupal.org/project/rest_server模块。
答案 2 :(得分:0)
表格node
和field_data_body
可能包含相同的数据吗?如果不明确的话,你的selecte * from
声明会包含所有内容。