我不知道该怎么说这个原因我现在有点困惑,所以请耐心等待,但我试图解释一下,我有一个表格,内容如下:在SQL插入过程中增加非唯一字段
OrderLineID, OrderID, OrderLine, and a few other unimportant ones.
OrderLineID是主键,并始终是唯一的(这不是问题),订单ID是一个外键,是不是唯一的(不是问题),以及订单行是不是唯一的值该表,但应该是唯一的任何OrderIDs是相同的...所以如果没有任何意义,也许是图片...
OrderLineID, OrderID, OrderLine
1 1 1
2 1 2
3 1 3
4 2 1
5 2 2
对于所有OrderID,都有一个唯一的OrderLine。我试图创建一个插入语句来获取特定OrderId的最大OrderLine值,这样我就可以增加它,但它不能很好地工作,我可以使用一些帮助。我现在所拥有的是,我在程序中构建SQL语句并用实际值替换OrderID#。我敢肯定,问题是嵌套的select语句,并且增加的结果,但我找不到这样做,因为我的谷歌技能显然是薄弱任何例子....
INSERT INTO tblOrderLine (OrderID, OrderLine) VALUES
(<OrderID #>, (SELECT MAX(OrderLine)
FROM tblOrderLine WHERE orderID = <same OrderID #>)+1)
任何帮助将对人好点。
你为什么存储订单项目表中?最好尝试避免表模式中的这种依赖字段。搜索谷歌规范化的提示。 – 2010-04-02 05:40:41
不错,但是我需要使用它,而且我无法控制它......所以我必须处理它。 – phill 2010-04-02 05:45:32
菲尔,什么是“不太好?”你有错误吗?当我尝试时,您的代码适用于我。 – Jason 2010-04-02 05:54:38