Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
VFP SQL Syntax - Tuesday BrainFreeze
Message
 
 
To
10/07/2007 13:01:12
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:
MS SQL Server
Miscellaneous
Thread ID:
01238981
Message ID:
01238985
Views:
11
This message has been marked as a message which has helped to the initial question of the thread.
>All fields are character.
>
>Table1 fields:
>
>aid
>aagcy
>adescriptn
>
>Table2 fields:
>
>bidv (same value as aid in table1)
>bname
>bvalue
>
>I want to join the above two tables and do the following:
>
>1. Create a single record for every distinct or unique aid record in table1 whether or not a match exists in table2.
>2. Include the fields: table1.aid, table1.aagcy, table2.bvalue
>3. If there is no matching record in table2, then I want to populate the bvalue field in the joined cursor with an empty string value ''.
>
>I am stuck on a simple sql statement which amazes me. I just can't concentrate today :o( Maybe it was the only 2 hours of sleep I got last night? :o)

Assuming aID is unique in table1
select T1.*, nvl(S1.bname, space(10)) as bName, ;
NVL(S1.bValue,space(10)) as bValue from Table1 T1 ;
left join (select bID, max(bName) as bName, max(bValue) as bValue ;
group by 1 from Table1) S1 on T1.aID = S1.bID
If we may have duplicates in Table2 on bID. Otherwise just a left join of table1 and table2

Instead of space(10) it should be number of spaces for the field length.
If it's not broken, fix it until it is.


My Blog
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform