我想使用for循环创建单个查询
例如,我有表1
[id , Name]
[ 1 , X1]
[ 2 , X2]
[ 3 , X3]
和秒表
[id, Name]
[ 5 , Y5]
[ 6 , Y6]
[ 7 , Y7]
我只想拥有一个包含跟随数据的新表
[NewName]
[X1-Y5]
[X1-Y6]
[X1-Y7]
[X2-Y5]
[X2-Y6]
[X1-Y7]
[X3-Y5]
[X3-Y6]
[X3-Y7]
我无法创建此文件,我只能使用first()和last()命令仅使用firt或alst表来实现此功能
预先感谢
答案 0 :(得分:0)
要在新表格中获取所需的组合,请尝试以下javascript函数:
var g = orient.getGraph();
var table1 = g.command("sql","select from table1");
var table2 = g.command("sql","select from table2");
for(i = 0; i < table1.length; i++)
{
for(j = 0; j < table2.length; j++)
{
g.command("sql","insert into table3(newName) values ('"+ table1[i].getRecord().field("name") +" - "+ table2[j].getRecord().field("name") +"')")
}
}
您可以按照以下方式在SQL中调用它:
select function_name()
这样,您就有了一种联接表,如果您的意图不是正确的方法,因为OrientDB中没有JOIN,则可以使用Edge,Link ...
如果您正在寻找想要做的事情,可以尝试以下javascript函数:
var g = orient.getGraph();
var table1 = g.command("sql","select from table1");
var table2 = g.command("sql","select from table2");
for(i = 0; i < table1.length; i++)
{
for(j = 0; j < table2.length; j++)
{
g.command("sql","create edge connection from "+ table1[i].getId() +" to "+ table2[j].getId() +"")
}
}
和以前一样,您可以像下面这样在SQL中调用它:
select function_name()
希望有帮助
致谢