asked on
ASKER
I guess that the asker has at least the main background
Yes, but if he had, then he would not need help with a simple joint. Yet you will agree that this SQL request, while *simple* to write, would very often lead to a huge amount of data, which would possibly hang the application of the asker. In that way, without explanation or warning, that is a bit of a trap. Irresponsible was probably a strong word, I'm sorry for that, but I knew you could handle it with good spiritbut my wife was calling for lunch ;)
That is an excellent excuse !
ASKER
ASKER
[ Room ][ Color ][ Floor ][ Furniture ]
Bedroom | White | Wood | - (None)
Bedroom | Pink | Lino | -
Kitchen | Cream | stone | whatever
ASKER
SELECT T1.yourcolumn1name T1_yourcolumn1name
,T1.yourcolumn2name T1_yourcolumn2name
,etc.
FROM Table1 T1
LEFT OUTER JOIN
(SELECT T2a.yourcolumn1name T2a_yourcolumn1name
,T2a.yourcolumn2name T2a_yourcolumn2name
,etc.
FROM Table2 T2a
) T2a
ON T1.commoncolumnname = T2a.commoncolumnname
LEFT OUTER JOIN
(SELECT T2b.yourcolumn1name T2b_yourcolumn1name
,T2b.yourcolumn2name T2b_yourcolumn2name
,etc.
FROM Table2 T2b
) T2b
ON T1.commoncolumnname = T2b.commoncolumnname
LEFT OUTER JOIN
(SELECT T3a.yourcolumn1name T3a_yourcolumn1name
,T3a.yourcolumn2name T3a_yourcolumn2name
,etc.
FROM Table3 T3a
) T3a
ON T1.commoncolumnname = T3a.commoncolumnname
LEFT OUTER JOIN
(SELECT T3b.yourcolumn1name T3b_yourcolumn1name
,T3b.yourcolumn2name T3b_yourcolumn2name
,etc.
FROM Table3 T3b
) T3b
ON T1.commoncolumnname = T3b.commoncolumnname
SELECT T1.ID
,T1.Name
,T1Address
,Bath1_Color
,Bath1_Floor
,Bath2_Color
,Bath2_Floor
,Bedroom1_Color
,Bedroom1_Floor
,Bedroom1 Furniture
,Bedroom2_Color
,Bedroom2_Floor
,Bedroom2 Furniture
,Kitchen_Color
,Kitchen_Floor
,Kitchen_Furniture
FROM Main T1
LEFT OUTER JOIN
(SELECT T2.ID
,T2.Color Bath1_Color
,T2.Floor Bath1_Floor
FROM Bathroom T2a
) T2a
ON T1.ID = T2a.ID
LEFT OUTER JOIN
(SELECT T2b.ID
,T2b.Color Bath2_Color
,T2b.Floor Bath2_Floor
FROM Bathroom T2b
) T2b
ON T1.ID = T2b.ID
LEFT OUTER JOIN
(SELECT T3a.ID
,T3a.Color Bedroom1_Color
,T3a.Floor Bedroom1_Floor
,T3a.Furniture Bedroom1_Furniture
FROM Bathroom T3a
) T3a
ON T1.ID = T3a.ID
LEFT OUTER JOIN
(SELECT T3b.ID
,T3b.Color Bedroom1_Color
,T3b.Floor Bedroom1_Floor
,T3b.Furniture Bedroom1 Furniture
FROM Bathroom T3b
) T3b
ON T1.ID = T3b.ID
LEFT OUTER JOIN
(SELECT T4.ID T4.color
,Kitchen_Color
,T4.Floor Kitchen_Floor
,T4.Furniture Kitchen_Furniture
FROM Kitchen T4
) T4
ON T1.ID = T4.ID
SELECT T1.ID
,T1.Name
,T1.Address
,T2a.Color as Bath1_Color
,T2a.Floor as Bath1_Floor
,T2b.Color as Bath2_Color
,T2b.Floor as Bath2_Floor
-- etc
FROM Main T1
LEFT OUTER JOIN FROM Bathroom T2a ON T1.ID = T2a.ID
LEFT OUTER JOIN FROM Bathroom T2b ON T1.ID = T2b.ID
LEFT OUTER JOIN FROM Bathroom T3a ON T1.ID = T3a.ID
-- etc
ASKER
ASKER
ASKER
ASKER
Databases are organized collections of data, most commonly accessed through management systems including schemas, tables, queries and processes that allow users to enter and manipulate the information or utilize it in other fashions, such as with web applications or for reporting purposes.
TRUSTED BY