www.webdeveloper.com
Results 1 to 6 of 6

Thread: mysql syntax

  1. #1
    Join Date
    Apr 2005
    Posts
    84

    mysql syntax

    I learned SQL through oracle and am wondering if maybe the syntax is just a little different. Anyway, I am trying to run a query to find all the rows that contain a certain blank field. I know that they exist and they are not null. The column is a varchar. I try a simle query,

    Code:
    select row from table where row = '';
    It does not return an error but it does not return anything. Also, my join statemet will not work.
    Code:
    select table.row from table, table2 where table.row = table2.row;
    (apparently subqueries are not available until mysql 4.1). Once again no error just no results. I thought maybe it was an issue with whitespace but it is to my understanding that in mysql if the column is a varchar that it chops off trailing whitespice. This is really frustrating me. Any help would be much appreciated.

  2. #2
    Join Date
    Apr 2005
    Location
    Bathurst, NSW, Australia
    Posts
    3,357
    Yes whitespaces are removed from the end of inputs in a varchar field.
    Have you tried to search for where row IS NULL and see if that returns the results you expected

  3. #3
    Join Date
    Aug 2005
    Location
    The Garden State
    Posts
    5,634
    note that in MySQL these 2 queries have different results:

    Code:
    INSERT INTO your_table(single_field) VALUES('');
    Code:
    INSERT INTO your_table(single_field) VALUES(NULL);
    basically in MySQL the only thing that's null is "NULL".

    As for the second issue, I couldn't explain that without understanding more of your table structure (for some reason I doubt that row, table, and table2 are the real names) and what values they're comparing.
    Acceptable Use | SQL Forum FAQ | celery is tasteless | twitter

    celery is tasteless - currently needing some UI time

  4. #4
    Join Date
    Apr 2005
    Posts
    84
    I figured out the first one. There was a carriage return.

    Code:
    select * from table where row = '\r';
    Still have not figured out the join though.

    this is what I am trying. There are two tables. One is web_desc and the other is machines2. web_desc has two rows, web_desc and groupname where machiens2 has several rows web_desc being one of them. There are several web_desc for every groupname and there are several machines for every web_desc. I am trying to get all the distinct web_desc for a certain groupname.

    Code:
    select distinct web_desc.web_desc from web_desc, machines2 where web_desc.web_desc = machines2.web_desc and web_desc.groupname = 'somegroup';
    It seems kind of funny to me. I am not sure why. I guess maybe because I have not done much with joins but I think most of the ones I have done I am not outputting the same column that I am joining.

    This is how I would do a subquery
    Code:
    select web_desc from web_desc where groupname = 'somegroup' and web_desc in (select distinct web_desc from machines2);
    It is not critical to get this working because I have used php to get the results I want. It would make the code a bit simpler though.

    Here is it all in action:

    http://www.equipmentremarketing.com/catalog.php

  5. #5
    Join Date
    Aug 2005
    Location
    The Garden State
    Posts
    5,634
    for some reason, i don't think you need to join the tables, at least for this part, based on how you described it.

    I'm sure you already know this, but,
    Code:
    select web_desc from web_desc where groupname = 'somegroup'
    will give you all of the web_desc for a specific groupname. you should be able to do this also
    Code:
    select m.* from machines2 m, web_desc w WHERE w.groupname='somegroup' and m.web_desc = w.web_desc
    should give you all of the machines2 data for the particular groupnames.
    Acceptable Use | SQL Forum FAQ | celery is tasteless | twitter

    celery is tasteless - currently needing some UI time

  6. #6
    Join Date
    Apr 2005
    Posts
    84
    I found out what it was. It was the carraige return again.

    Code:
    select distinct web_desc.web_desc from web_desc, machines2 where
    groupname = 'automatics' and web_desc.web_desc = machines2.web_desc & '\r'
    Thanks for your help.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles