0
我有“性”与动态值从行值的列创建一个表
ID Text
-----------
1 Name
2 Surname
3 D.O.B.
4 City
其它表的表与“人”
ID Code
-----------
1 MN0001
2 ST0001
3 ST0002
而另一台“propertiesPeople”该联营公司那2张桌子。一个人可以有一个未定义数量的属性。
ID IDPerson IDProp Value
----------------------------------
1 1 1 Peter
2 1 2 Johnson
3 2 1 John
4 2 3 01/01/1977
5 1 4 California
6 3 1 Julian
7 3 2 Ross
8 3 4 Osaka
插入人/人之前,我需要确认没有其他一个具有相同属性(验证特性是可变的,它会被存储在另一个表“propertiesToValidate”)
我想制作一个动态SQL使循环围绕“propertiesToValidate”的,这选择将完成类似:
SELECT p1.Value, p2.Value, p3.Value
FROM properties p1
INNER JOIN properties p2 ON p1.IDPerson=p2.IDPerson
INNER JOIN properties p3 ON p1.IDPerson=p3.IDPerson
WHERE p1.IDProp = 1
AND p2.IDProp = 2
AND p3.IDProp = 4
而插入到这个时间表将完成这样的事情:
Value1 Value2 Value3
--------------------------------
Peter Johnson California
Julian Ross Osaka
之后,我会与一个表与要插入的新人/人相交。
我认为创建一个动态的字符串,然后用sp_executesql调用是不是一个优雅的方式来做到这一点(并且将来很复杂),但我无法实现另一种方式来做到这一点。有另一种方法吗?
的人会是一个新的。我不想创建一个新的人,例如创建3个新行: 9,4,1'Peter'|||| 9,4,2,Johnson |||| 9,4,4,'加州'。 要验证的属性的数量和值取决于另一个表。 – popiandro
@popiandro那么分享这个表格的另一个例子 – lad2025
这个表格只需要验证属性的ID(好吧,它会有更多的列,但对于这个问题并不重要) – popiandro