Yes, but not easily. To combine multiple rows into a single field separated by commas requires writing a cursor to get the data for each child row. You can loop through each row, add the commas, and add it as a string column to the parent resultset. You can simplify it by putting the cursor in a user defined function (in SQL Server), and using that function in your SELECT, passing in the File_ID.
Now, if you have control of the child table and know that there will always be 3 versions, you could re-create that table to have 3 columns (version1, version2, and version3). Or, if you need them as separate rows, add another column like Sequence:
Code:
Table 2
File_ID Seq Version
F001 1 1
F001 2 2
F001 3 3
F002 1 1
F002 2 2
F002 3 3
Then you could join to the child table 3 times (using an alias for each join), and use the sequence to grab each of the three rows. That would allow you to have 0, 1, 2, or 3 rows and piece them together in one column. This would limit you to a max of 3 rows (or whatever you define the max to be), but cant be dynamic (you cant easily allow 4 rows later - youd have to change your proc).
If you want dynamic, youll have to use the cursor.
-Nerseus