*Table aliases*
ShipCompanies customerCompany = SHIP_COMPANIES.as("CUSTOMER_COMPANY");
ShipCompaniesseats customerCompanySeat =
SHIP_COMPANIESSEATS.as("CUSTOMER_COMPANYSEAT");
ShipCompanies inChargeOfCompany = SHIP_COMPANIES.as("INCHARGEOFF_COMPANY");
ShipCompaniesseats inChargeOfCompanySeat =
SHIP_COMPANIESSEATS.as("INCHARGEOFF_COMPANYSEAT");
*JOIN on table aliases*
.innerJoin(customerCompanySeat).onKey(Keys.FK_SHIP_ORDERS_SHIP_COMPANIESSEATS_CUSTOMER)
.innerJoin(customerCompany).
*onKey(Keys.FK_SHIP_COMPANIESSEATS_SHIP_COMPANIES)*
.innerJoin(inChargeOfCompanySeat).onKey(Keys.FK_SHIP_ORDERS_SHIP_COMPANIESSEATS_INCHARGEOF)
.innerJoin(inChargeOfCompany).
*onKey(Keys.FK_SHIP_COMPANIESSEATS_SHIP_COMPANIES)*
the 2nd bold part generate same sql code of 1st bold part on a side of the
join.
Is it a know behavior? Does it means that i can't use FK Keys on join when
table compare more than one time (via table aliases)?
I was save by warning....
21:00:34.081 [main] INFO org.jooq.impl.Fields - Ambiguous match found for
ID_Company. Both "CUSTOMER_COMPANYSEAT"."ID_Company" and
"CUSTOMER_COMPANY"."ID_Company" match.
21:00:34.081 [main] INFO org.jooq.impl.Fields - Ambiguous match found for
ID_Company. Both "CUSTOMER_COMPANYSEAT"."ID_Company" and
"INCHARGEOFF_COMPANYSEAT"."ID_Company" match.
*Here there are right SQL*
from [dbo].[Ship_Orders]
join [dbo].[Ship_CompaniesSeats] [CUSTOMER_COMPANYSEAT]
on [dbo].[Ship_Orders].[ID_CompanySeat_Customer] =
[CUSTOMER_COMPANYSEAT].[ID_CompanySeat]
join [dbo].[Ship_Companies] [CUSTOMER_COMPANY]
on [CUSTOMER_COMPANYSEAT].[ID_Company] = [CUSTOMER_COMPANY].[ID_Company]
join [dbo].[Ship_CompaniesSeats] [INCHARGEOFF_COMPANYSEAT]
on [dbo].[Ship_Orders].[ID_CompanySeat_InChargeOf] =
[INCHARGEOFF_COMPANYSEAT].[ID_CompanySeat]
join [dbo].[Ship_Companies] [INCHARGEOFF_COMPANY]
on [*INCHARGEOFF_COMPANY*].[ID_Company] =
[INCHARGEOFF_COMPANYSEAT].[ID_Company]
*and here wrong one*
from [dbo].[Ship_Orders]
join [dbo].[Ship_CompaniesSeats] [CUSTOMER_COMPANYSEAT]
on [dbo].[Ship_Orders].[ID_CompanySeat_Customer] =
[CUSTOMER_COMPANYSEAT].[ID_CompanySeat]
join [dbo].[Ship_Companies] [CUSTOMER_COMPANY]
on [CUSTOMER_COMPANYSEAT].[ID_Company] = [CUSTOMER_COMPANY].[ID_Company]
join [dbo].[Ship_CompaniesSeats] [INCHARGEOFF_COMPANYSEAT]
on [dbo].[Ship_Orders].[ID_CompanySeat_InChargeOf] =
[INCHARGEOFF_COMPANYSEAT].[ID_CompanySeat]
join [dbo].[Ship_Companies] [INCHARGEOFF_COMPANY]
on* [CUSTOMER_COMPANYSEAT]*.[ID_Company] =
[INCHARGEOFF_COMPANY].[ID_Company]
*taken from first tables alias instead of second one*
Denis
--
You received this message because you are subscribed to the Google Groups "jOOQ
User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.