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