循環查詢幫助!大家好,
我正在努力查詢並需要你的幫助!
我想把這個轉過來:
進入:
這是我到目前為止的代碼,但我不能讓它工作。
Snums = 打開數據庫 (
“DSN =”連接字符串...... “ ,
“SELECT [dbo]。[BOM]。[PARENT] as PARENTID,[dbo]。[BOM]。[COMPONENT] as SUBPARENTID
來自[dbo]。[BOM] - 是tb1
--LEFT JOIN [dbo]。[BOM] ON [dbo]。[BOM]。[PARENT] = [dbo]。[BOM]。[COMPONENT]“
);
Snums << 新欄目 ( “SUBPARENTID2” ,性格);
對於 (i = 1 ,我<= N行 (Snums),i ++,
r = Snums << 獲取行 (:PARENTID ==:SUBPARENTID [i]);
如果 (
N行 (r)== 0 ,繼續 (),
N行 (r)== 1 &r [ 1 ] == i,:SUBPARENTID2 [i] = 0 ,
N行 (r)== 1 ,:SUBPARENTID2 [i] =:SUBPARENTID [r [ 1 ]]
:SUBPARENTID2 [i] =:SUBPARENTID2 [i]
););
我正在嘗試盡快學習JMP代碼(新工作)但是在這個問題的最後期限之內。請幫忙!
);
);
Re:循環查詢幫助! @ Minutemaid23 ,
這適用於您提供的示例。我認為這在很大程度上是有效的,我能看到的唯一複雜因素是父元素和組件的原始列表是多對多關係而不是一對一關係。
Clear Log(); Clear Globals();
// Get Reference for data table
dt = Current Data Table();
// Extract Values from Parent and Component and wrap them in associative arrays
ParentVals = Associative Array(dt:Parent << Get Values) ;
ComponentVals = Associative Array(dt:Component << Get Values);
// Find Common elements between Parents and Components
Intersection = ParentVals;
Intersection << Intersect(ComponentVals);
Common = Intersection << Get Keys;
// Update Data Table
dt << Begin Data Update;
for(i = 1, i <= N Items(Common), i++,
SR1 = dt << Select Where(:Parent == Common[i]) << Get Selected Rows;
dt << Clear Select;
SR2 = dt << Select Where(:Component == Common[i]) << Get Selected Rows;
NewParent = dt:Parent[SR2];
dt << Clear Select;
dt << Add Rows(1);
nR = nRows(dt);
dt:Parent[nR] = NewParent;
dt:Component[nR] = Common[i];
);
dt << End Data Update;
// Remove Duplicates
dt_res = dt << Summary(
Group( :Parent, :Component ),
Freq( "None" ),
Weight( "None" )
);
Re:循環查詢幫助!我可以提供的最佳描述如下。由於5是1以下的成分,6是5的成分,因此5和6低於1。
它變成了這樣:
進入這個:
Re:循環查詢幫助! @ Minutemaid23 ,
根據我的理解,這是我要去的地方
Clear Log(); Clear Globals();
// Get Reference for data table
dt = Current Data Table();
// Extract Values from Parent and Component and wrap them in associative arrays
ParentVals = Associative Array(dt:Parent << Get Values) ;
ComponentVals = Associative Array(dt:Component << Get Values);
// Find Common elements between Parents and Components
Intersection = ParentVals;
Intersection << Intersect(ComponentVals);
Common = Intersection << Get Keys;
我想的是:
第1步:為了讓這些元素結束,首先需要確定常見元素是什麼,即組件和父元素都存在哪些元素
第2步:一旦你知道了共同的元素,我不知道你帶它們的意思,如果你能幫助我理解一點好一點 - 否則這至少應該讓你開始朝著正確的方向前進
Re:循環查詢幫助!我會盡我所能。
我通過ODBC連接到一個有兩列,父和組件的表。在表中,組件也可以在父列中。 例如,數字5是組件和父組件。我正在嘗試編寫代碼,以查看組件是否在父列中。如果是這樣,我希望它帶回該組件值(在本例中為6)。然後我正在嘗試檢查6是否在父表中,依此類推。
Re:循環查詢幫助! @ Minutemaid23 ,
你能幫我理解你想做什麼嗎?我無法遵循表1和表2的內容。如果問題更清楚,它將對整個社區和你自己有所幫助 - 所以人們可以嘗試幫助你。