Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
SQL Insert with 2 primary keys in xref table
Message
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Environment versions
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01265745
Message ID:
01265920
Views:
8
This message has been marked as the solution to the initial question of the thread.
Hi John,

You don't have to concatenate fields. The second one should be faster.
select k_prempl, k_prdedmst
	from c_PenDetail pd
	WHERE NOT EXISTS ( SELECT * FROM prdedemp 
		WHERE k_prdedmst = pd.k_prdedmst AND k_prempl = pd.k_prempl)

* or 
select pd.k_prempl, pd.k_prdedmst
	from c_PenDetail pd
	LEFT JOIN prdedemp pr ON pr.k_prdedmst = pd.k_prdedmst AND pr.k_prempl = pd.k_prempl
	WHERE pr.k_prdedmst IS NULL
>here is the revised code that does work as I want. I have a cross reference table that matches employees with deductions using keys K_PREMPL and K_PRDEDEMP. I need to add new records where K_PREMPL+K_PRDEDEMP exist in the cursor c_PenDetail but do not exist in prdedemp.
>
* Add any missing deduction types for each employee.
>TEXT TO mSqlCommand noshow pretext 15 TEXTMERGE
>  insert into <<xfprdedemp>>
>  (k_prempl, k_prdedmst)
>
>  select k_prempl, k_prdedmst
>  from c_PenDetail
>
>  where transform(k_prdedmst,'9999999999')+ transform(k_prempl,'9999999999')
>  not in (select transform(k_prdedmst,'9999999999')+ transform(k_prempl,'9999999999') from prdedemp)
>ENDTEXT
>&mSqlCommand
>
>Is there a better way than using the transform to concatenate the fields?
--sb--
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform