i have four tables like below in sql server 2008 :
TABLE 1 -> Users
UserID UserName
-----------------------
1 Jhon
TABLE 2 -> PhoneBook
PhonebookID UserID Name MobileNumber
-------------------------------------------------------------------
1 1 MyBrother 252848
TABLE 3 -> PhonebookExtraField
PhonebookExtraFieldID UserID ExtraFieldName
-------------------------------------------------------------
1 1 Age
2 1 Job
3 1 Address
TABLE 4 -> phoneBookExtraFieldData
phoneBookExtraFieldDataID PhonebookExtraFieldID PhonebookID ExtraFieldValue
-----------------------------------------------------------------------------------------
101 1 1 30
102 2 1 Web Developer
103 3 1 A.V. Rose
how can i write a query for output below :
mean i am looking for a way for creating dynamic columns using Tables data...
UserName Phonebook(Name) Phonebook(MobileNumber) Age Job Address
-------------------------------------------------------------------------------------
Jhon MyBrother 252848 30 Web Developer A.V. Rose
what is the best way for doing this job?
how should i change my tables for this purpose?
thanks for attention and advance...