If you have a complicated query that uses many tables but that doesn't return any rows, you should use the following procedure to find out what is wrong:
              Test the query with EXPLAIN
              to check whether you can find something that is obviously
              wrong. See Section 12.8.2, “EXPLAIN Syntax”.
            
              Select only those columns that are used in the
              WHERE clause.
            
              Remove one table at a time from the query until it returns
              some rows. If the tables are large, it is a good idea to
              use LIMIT 10 with the query.
            
              Issue a SELECT for the
              column that should have matched a row against the table
              that was last removed from the query.
            
              If you are comparing FLOAT
              or DOUBLE columns with
              numbers that have decimals, you can't use equality
              (=) comparisons. This problem is common
              in most computer languages because not all floating-point
              values can be stored with exact precision. In some cases,
              changing the FLOAT to a
              DOUBLE fixes this. See
              Section B.5.5.8, “Problems with Floating-Point Values”.
            
              If you still can't figure out what is wrong, create a
              minimal test that can be run with mysql test <
              query.sql that shows your problems. You can
              create a test file by dumping the tables with
              mysqldump --quick db_name
              tbl_name_1 ...
              tbl_name_n >
              query.sql. Open the file in an editor, remove
              some insert lines (if there are more than needed to
              demonstrate the problem), and add your
              SELECT statement at the end
              of the file.
            
Verify that the test file demonstrates the problem by executing these commands:
shell>mysqladmin create test2shell>mysql test2 < query.sql
Attach the test file to a bug report, which you can file using the instructions in Section 1.7, “How to Report Bugs or Problems”.


User Comments
when using float(5,5) or something like float(m,m), storing 1 into this field will return 0.99999!!!! and not 1!!!! to work you need float(m+1,m)
Add your own comment.