小编CaR*_*iaK的帖子

为多个选择执行递归t-sql的最简单方法

我正在开发一个物料清单成本计算器程序,我正在努力通过一些简单的解决方案来理解我想要的一些递归选择.

我正在使用SQL Server 2005来完成这部分应用程序.

假设我有产品A,其中包含装配B和C部分.装配B将包含部件D和E,但是,这里是我奋斗的地方,D和或E可能包含X个其他部件.

我可以做一些事情;

SELECT * FROM TBLBOM WHERE Parent = A 
UNION 
SELECT * FROM TBLBOM WHERE Parent = B 
UNION 
SELECT * FROM TBLBOM WHERE Parent = C 
Run Code Online (Sandbox Code Playgroud)

产生某种东西;

PARENT    COMP    COST
A          X       £1
B          D       £0.5
B          E       £0.5
....
C          Y       £1
Run Code Online (Sandbox Code Playgroud)

但是,假设组件D由组件F&G组成,我将如何在t-sql语句中容纳它.

简而言之,我需要扩展与父产品关联的所有组件的完整组件列表,无论它们是在子组件中还是子组件的子组件中......

理想情况下,我想不惜一切代价避免光标:)

任何帮助/指导将不胜感激.

谢谢.

编辑; 根据要求,这是表结构和预期输出.父节点是DRAWINGNO,子节点是PART(它本身也可以是父节点);

BOMID      DRAWINGNO         ITEM            PART               COST     
1303       HGR05180           1              HGR05370           1
1304       HGR05180           2              HGF65050           4
1305       HGR05180           3              HGF50340           1 
1312       HGR05370           1              HPN05075 …
Run Code Online (Sandbox Code Playgroud)

t-sql

2
推荐指数
1
解决办法
482
查看次数

JavaScript - 原型

我正在努力获得更好的JavaScript工作知识.所以,我已经买了道格拉斯·克罗克福德的书"JavaScript的好部分".

我现在很难掌握Prototype.下面的所有内容似乎都在我的浏览器中工作,直到我点击// PROTOTYPE示例.有人可以看看它,看看为什么我不能从中得到任何输出.(除非我将所有原型代码注释掉,否则我的页面将返回空白)

谢谢你的帮助.

巴里

var stooge = { 
    "first-name": "Jerome",
    "last-name": "Howard",
    "nickname": "J", 
    "profession" : 'Actor' 
};

// below is augmenting
var st = stooge;
st.nickname = "curly";
// st.nickname and nick are the same because both are ref's to the same object 
var nick = st.nickname;


document.writeln(stooge['first-name']);  //expect Jerome -- this is "suffix" retrieval 
document.writeln(st.nickname); //expect "curly" -- this is "notation" retrieval
document.writeln(nick); //expect "curly"
document.writeln(stooge.profession); 


//PROTOTYPE EXAMPLE; 
if (typeof Object.create !== 'function')
{
    object.create = function(o) …
Run Code Online (Sandbox Code Playgroud)

javascript prototype

1
推荐指数
1
解决办法
752
查看次数

C#线程; Ran时IDE的结果不同

我试图更好地理解C#5中的线程.我有以下代码,如果我按F5(a和b似乎达到10)或按CTRL F5(a和b到3,我给出不同的结果)根据我正在研究的书中的文字)...有人可以解释一下原因吗?另外,我不明白为什么每个线程在10处停止,因为它似乎没有任何限制.是否有人可以向我解释这个问题?

using System;
using System.Threading;

namespace _70483.Chapter1
{
    public static class Program
    {
        public static ThreadLocal<int> _field =
            new ThreadLocal<int>(() =>
            {
                return Thread.CurrentThread.ManagedThreadId;
            });

        public static void Main()
        {
            new Thread(() =>
            {
                for (int x = 0; x < _field.Value; x++)
                {
                    Console.WriteLine("Thread A: {0}", x);
                }
            }).Start();

            new Thread(() =>
            {
                for (int x = 0; x < _field.Value; x++)
                {
                    Console.WriteLine("Thread B: {0}", x);
                }
            }).Start();
            Console.ReadKey();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# multithreading

0
推荐指数
1
解决办法
138
查看次数

标签 统计

c# ×1

javascript ×1

multithreading ×1

prototype ×1

t-sql ×1