FreeQueryBuilder (SQLeo ancestor) has a nice feature setting half the arrow in color for LEFT/RIGHT OUTER JOIN, and both half arrows in color for FULL OUTER joins.
Original source code attached, feature to be backported
I'm sorry I can't contribute. I'm not a Java programmer.
For the colors it would seem to me the quickest/easiest fix would be to epxand the square into a rectangle and color left/right half or leave all white for INNER JOIN.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm sorry I'm just a DBA and I will have a look at your request ...
There are many possible ways to contribute:
- finding a java developer to help,
- finding a sponsor,
- become referent tester for an OS or a database,
- promote the tool,
- give some money
All are welcome ;o)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2013-04-20
I tried it and seems to work. You can't really tell if it's RIGHT or LEFT JOIN by looking at it, but you can tell which table matches all the records first so it helps when trying to understand the logic.
The attachment is produced from this Are the AND conditions colored the correct way?
...
SELECT
CategoryReporting.CategoryName,
CompanyCategories.CompanyId,
CompanyCategories.CategoryId,
CategoryReporting.ReportingFreq,
CategoryReporting.ReportingPeriodName,
CategoryReporting.SurveyStartDate,
CategoryReporting.SurveyDueDate,
CategoryReporting.SurveyDescription,
CategoryProducts.ProductUniqueCode,
CategoryProducts.FamilyDescription,
CategoryProducts.ProductDescription,
CategoryProducts.SubProductDescription,
Reporting.FinalizeDate,
Reporting.ReportingCloseDate AS ActualReportingCloseDate,
Reporting.ReportedRegion,
Reporting.ReportedUnits,
CategoryProducts.Status,
CategoryReporting.ReportingCloseDate
FROM
CategoryReporting INNER JOIN CompanyCategories ON CategoryReporting.CategoryId = CompanyCategories.CategoryId
INNER JOIN CategoryProducts ON CategoryReporting.CategoryId = CategoryProducts.CategoryId
LEFT OUTER JOIN Reporting ON CategoryProducts.ProductUniqueCode = Reporting.ProductUniqueCode
AND Reporting.CompanyId = CompanyCategories.CompanyId
AND Reporting.CategoryId = CompanyCategories.CategoryId
...
Yes the graph is correct, it seems to work as designed.
Find attached the result from revj http://snowflakejoins.com/revj/index
that seems very similar
Is there a way to display the direction of the join in the Designer? The color Red and Yellow is ok but not mnemonic,
Here is a link to notations used for joins. Maybe you can get idea from it.
http://en.wikipedia.org/wiki/Relational_algebra#Joins_and_join-like_operators
Here is another one maybe nicer idea using circles.
http://www.sitepoint.com/understanding-sql-joins-mysql-database/
Last edit: wyattb 2013-04-18
Hi,
yes you are right join display is not the best: I will open a ticket for that.
I let you have a look at REVJ http://snowflakejoins.com/ that has a very interesting join display ...
FreeQueryBuilder (SQLeo ancestor) has a nice feature setting half the arrow in color for LEFT/RIGHT OUTER JOIN, and both half arrows in color for FULL OUTER joins.
Original source code attached, feature to be backported
Are you available to contribute ?
Regards
PAscal
Last edit: PAscal 2013-04-18
I'm sorry I can't contribute. I'm not a Java programmer.
For the colors it would seem to me the quickest/easiest fix would be to epxand the square into a rectangle and color left/right half or leave all white for INNER JOIN.
I'm sorry I'm just a DBA and I will have a look at your request ...
There are many possible ways to contribute:
- finding a java developer to help,
- finding a sponsor,
- become referent tester for an OS or a database,
- promote the tool,
- give some money
All are welcome ;o)
Do you have a private email?
legrand_legrand
at
hotmail
dot
com
Seems not difficult. Here is the attached one let me know your feedback.
Last edit: Anu 2013-04-19
I tried it and seems to work. You can't really tell if it's RIGHT or LEFT JOIN by looking at it, but you can tell which table matches all the records first so it helps when trying to understand the logic.
The attachment is produced from this Are the AND conditions colored the correct way?
...
SELECT
CategoryReporting.CategoryName,
CompanyCategories.CompanyId,
CompanyCategories.CategoryId,
CategoryReporting.ReportingFreq,
CategoryReporting.ReportingPeriodName,
CategoryReporting.SurveyStartDate,
CategoryReporting.SurveyDueDate,
CategoryReporting.SurveyDescription,
CategoryProducts.ProductUniqueCode,
CategoryProducts.FamilyDescription,
CategoryProducts.ProductDescription,
CategoryProducts.SubProductDescription,
Reporting.FinalizeDate,
Reporting.ReportingCloseDate AS ActualReportingCloseDate,
Reporting.ReportedRegion,
Reporting.ReportedUnits,
CategoryProducts.Status,
CategoryReporting.ReportingCloseDate
FROM
CategoryReporting INNER JOIN CompanyCategories ON CategoryReporting.CategoryId = CompanyCategories.CategoryId
INNER JOIN CategoryProducts ON CategoryReporting.CategoryId = CategoryProducts.CategoryId
LEFT OUTER JOIN Reporting ON CategoryProducts.ProductUniqueCode = Reporting.ProductUniqueCode
AND Reporting.CompanyId = CompanyCategories.CompanyId
AND Reporting.CategoryId = CompanyCategories.CategoryId
...
Yes the graph is correct, it seems to work as designed.
Find attached the result from revj http://snowflakejoins.com/revj/index
that seems very similar
Last edit: PAscal 2013-04-21