Having trouble with left join

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • chadlupkes

    #1

    Having trouble with left join

    I'm getting NULLs where there shouldn't be. Any help is appreciated.

    Here are the tables:

    precinct

    Field Type Null Key Default Extra
    id smallint(6) PRI NULL auto_increment
    precinct_number int(11) 0
    precinct_name varchar(20) MUL
    countydist smallint(6) 0
    congdist smallint(6) 0
    legdist smallint(6) 0

    "precinct_n ame" is the name of the precinct, not the PCO. That's in
    the next table.

    pcolist
    Field Type Null Key Default Extra
    id smallint(6) PRI NULL auto_increment
    precinct int(11) 0
    pctname varchar(15)
    area varchar(4)
    legdist smallint(6) 0
    countydist smallint(6) 0
    congdist smallint(6) 0
    name varchar(50)
    email varchar(50) MUL
    private tinyint(1) 0
    type varchar(5)

    I know there are some duplicates here, which is what I'm trying to
    solve by this join statement:

    SELECT king_precinct.p recinct_number AS precinct_number ,
    king_precinct.p recinct_name AS precinct_name, king_precinct.l egdist AS
    legdist, king_precinct.c ountydist AS countydist,
    king_precinct.c ongdist AS congdist, pcolist.name AS name, pcolist.type
    AS type
    FROM king_precinct LEFT JOIN pcolist
    ON king_precinct.p recinct_number = pcolist.precinc t
    ORDER BY precinct_name

    The problem is that it's not bringing up the name of the PCO in the
    final result. Can anyone see what I'm doing wrong within the SQL
    statement? If not, I can post the code I'm using.

    Chad Lupkes
    Seattle

  • Toby A Inkster

    #2
    Re: Having trouble with left join

    chadlupkes wrote:
    I'm getting NULLs where there shouldn't be.
    To determine that, we'd need to see some of the data.
    king_precinct
    You've not given us a schema for this table.

    --
    Toby A Inkster BSc (Hons) ARCS
    Contact Me ~ http://tobyinkster.co.uk/contact
    Geek of ~ HTML/SQL/Perl/PHP/Python*/Apache/Linux

    * = I'm getting there!

    Comment

    • Jerry Stuckle

      #3
      Re: Having trouble with left join

      chadlupkes wrote:
      I'm getting NULLs where there shouldn't be. Any help is appreciated.
      >
      Here are the tables:
      >
      precinct
      >
      Field Type Null Key Default Extra
      id smallint(6) PRI NULL auto_increment
      precinct_number int(11) 0
      precinct_name varchar(20) MUL
      countydist smallint(6) 0
      congdist smallint(6) 0
      legdist smallint(6) 0
      >
      "precinct_n ame" is the name of the precinct, not the PCO. That's in
      the next table.
      >
      pcolist
      Field Type Null Key Default Extra
      id smallint(6) PRI NULL auto_increment
      precinct int(11) 0
      pctname varchar(15)
      area varchar(4)
      legdist smallint(6) 0
      countydist smallint(6) 0
      congdist smallint(6) 0
      name varchar(50)
      email varchar(50) MUL
      private tinyint(1) 0
      type varchar(5)
      >
      I know there are some duplicates here, which is what I'm trying to
      solve by this join statement:
      >
      SELECT king_precinct.p recinct_number AS precinct_number ,
      king_precinct.p recinct_name AS precinct_name, king_precinct.l egdist AS
      legdist, king_precinct.c ountydist AS countydist,
      king_precinct.c ongdist AS congdist, pcolist.name AS name, pcolist.type
      AS type
      FROM king_precinct LEFT JOIN pcolist
      ON king_precinct.p recinct_number = pcolist.precinc t
      ORDER BY precinct_name
      >
      The problem is that it's not bringing up the name of the PCO in the
      final result. Can anyone see what I'm doing wrong within the SQL
      statement? If not, I can post the code I'm using.
      >
      Chad Lupkes
      Seattle
      >
      Chad,

      I don't see a PHP question here. In fact, I don't see any PHP here at all.

      Maybe you should be asking in a newsgroup related to your database?

      --
      =============== ===
      Remove the "x" from my email address
      Jerry Stuckle
      JDS Computer Training Corp.
      jstucklex@attgl obal.net
      =============== ===

      Comment

      • chadlupkes

        #4
        Re: Having trouble with left join

        Sorry! king_precinct is the same as the precinct table. Forgot to
        adjust it in both locations.

        And since this is a PHP forum, which Jerry reminded me of, here is the
        code I'm trying to get to work:

        echo('<html>
        <head>
        <title>Precinct s in King County</title>
        </head>
        <body>
        <table border="1">
        <tr>
        <th>Precinct Number</th>
        <th>Precinct Name</th>
        <th>County Council District</th>
        <th>Congression al District</th>
        <th>Legislati ve District</th>
        <th>PCO Name</th>
        <th>PCO Type</th>
        </tr>
        ');
        $link_id = db_connect('wa4 6dems_data');
        $result = mysql_query("SE LECT king_precinct.p recinct_number AS
        precinct_number , king_precinct.p recinct_name AS precinct_name,
        king_precinct.l egdist AS legdist, king_precinct.c ountydist AS
        countydist, king_precinct.c ongdist AS congdist, pcolist.name AS name,
        pcolist.type AS type
        FROM king_precinct LEFT JOIN pcolist
        ON king_precinct.p recinct_number = pcolist.precinc t
        ORDER BY precinct_name", $link_id);
        while($pct_data = mysql_fetch_arr ay($result)) {
        $precinct_numbe r = $pct_data["precinct_numbe r"];
        $precinct_name = $pct_data["precinct_n ame"];
        $precinct_cc = $pct_data["countydist "];
        $precinct_cd = $pct_data["congdist"];
        $precinct_ld = $pct_data["legdist"];
        $precinct_pco_n ame = $query_data["name"];
        $precinct_pco_e mail = $query_data["email"];
        $precinct_pco_p rivate = $query_data["private"];
        $precinct_pco_t ype = $query_data["type"];
        echo('
        <tr>
        <td>'.$precinct _number.'</td>
        <td><a href="precinctm ap.php?pct='.$p recinct_number. '">'.
        $precinct_name. '</a></td>
        <td>'.$precinct _cc.'</td>
        <td>'.$precinct _cd.'</td>
        <td>'.$precinct _ld.'</td>
        <td>'.$precinct _pco_name.'</td>
        <td>'.$precinct _pco_type.'</td>
        </tr>');
        }
        echo('</table>');

        On Mar 27, 8:24 am, Toby A Inkster <usenet200...@t obyinkster.co.u k>
        wrote:
        chadlupkes wrote:
        I'm getting NULLs where there shouldn't be.
        >
        To determine that, we'd need to see some of the data.
        >
        king_precinct
        >
        You've not given us a schema for this table.
        >
        --
        Toby A Inkster BSc (Hons) ARCS
        Contact Me ~http://tobyinkster.co.uk/contact
        Geek of ~ HTML/SQL/Perl/PHP/Python*/Apache/Linux
        >
        * = I'm getting there!

        Comment

        • chadlupkes

          #5
          Re: Having trouble with left join

          Hi Jerry,

          Please see my other post for the PHP code. I've been busy today and
          couldn't get to my system until now.

          I think it's something to do with my PHP code, because when I run the
          SQL query within mysql, it works exactly how I want it to. I think
          I'm doing something wrong in the code, but I just can't see it.

          Thanks!

          Chad

          On Mar 27, 7:01 pm, Jerry Stuckle <jstuck...@attg lobal.netwrote:
          chadlupkes wrote:
          I'm getting NULLs where there shouldn't be. Any help is appreciated.
          >
          Here are the tables:
          >
          precinct
          >
          Field Type Null Key Default Extra
          id smallint(6) PRI NULL auto_increment
          precinct_number int(11) 0
          precinct_name varchar(20) MUL
          countydist smallint(6) 0
          congdist smallint(6) 0
          legdist smallint(6) 0
          >
          "precinct_n ame" is the name of the precinct, not the PCO. That's in
          the next table.
          >
          pcolist
          Field Type Null Key Default Extra
          id smallint(6) PRI NULL auto_increment
          precinct int(11) 0
          pctname varchar(15)
          area varchar(4)
          legdist smallint(6) 0
          countydist smallint(6) 0
          congdist smallint(6) 0
          name varchar(50)
          email varchar(50) MUL
          private tinyint(1) 0
          type varchar(5)
          >
          I know there are some duplicates here, which is what I'm trying to
          solve by this join statement:
          >
          SELECT king_precinct.p recinct_number AS precinct_number ,
          king_precinct.p recinct_name AS precinct_name, king_precinct.l egdist AS
          legdist, king_precinct.c ountydist AS countydist,
          king_precinct.c ongdist AS congdist, pcolist.name AS name, pcolist.type
          AS type
          FROM king_precinct LEFT JOIN pcolist
          ON king_precinct.p recinct_number = pcolist.precinc t
          ORDER BY precinct_name
          >
          The problem is that it's not bringing up the name of the PCO in the
          final result. Can anyone see what I'm doing wrong within the SQL
          statement? If not, I can post the code I'm using.
          >
          Chad Lupkes
          Seattle
          >
          Chad,
          >
          I don't see a PHP question here. In fact, I don't see any PHP here at all.
          >
          Maybe you should be asking in a newsgroup related to your database?
          >
          --
          =============== ===
          Remove the "x" from my email address
          Jerry Stuckle
          JDS Computer Training Corp.
          jstuck...@attgl obal.net
          =============== ===

          Comment

          • Jerry Stuckle

            #6
            Re: Having trouble with left join

            chadlupkes wrote:
            On Mar 27, 8:24 am, Toby A Inkster <usenet200...@t obyinkster.co.u k>
            wrote:
            >chadlupkes wrote:
            >>I'm getting NULLs where there shouldn't be.
            >To determine that, we'd need to see some of the data.
            >>
            >>king_precin ct
            >You've not given us a schema for this table.
            >>
            >--
            >Toby A Inkster BSc (Hons) ARCS
            >Contact Me ~http://tobyinkster.co.uk/contact
            >Geek of ~ HTML/SQL/Perl/PHP/Python*/Apache/Linux
            >>
            >* = I'm getting there!
            >
            >
            Sorry! king_precinct is the same as the precinct table. Forgot to
            adjust it in both locations.
            >
            And since this is a PHP forum, which Jerry reminded me of, here is the
            code I'm trying to get to work:
            >
            echo('<html>
            <head>
            <title>Precinct s in King County</title>
            </head>
            <body>
            <table border="1">
            <tr>
            <th>Precinct Number</th>
            <th>Precinct Name</th>
            <th>County Council District</th>
            <th>Congression al District</th>
            <th>Legislati ve District</th>
            <th>PCO Name</th>
            <th>PCO Type</th>
            </tr>
            ');
            $link_id = db_connect('wa4 6dems_data');
            $result = mysql_query("SE LECT king_precinct.p recinct_number AS
            precinct_number , king_precinct.p recinct_name AS precinct_name,
            king_precinct.l egdist AS legdist, king_precinct.c ountydist AS
            countydist, king_precinct.c ongdist AS congdist, pcolist.name AS name,
            pcolist.type AS type
            FROM king_precinct LEFT JOIN pcolist
            ON king_precinct.p recinct_number = pcolist.precinc t
            ORDER BY precinct_name", $link_id);
            while($pct_data = mysql_fetch_arr ay($result)) {
            $precinct_numbe r = $pct_data["precinct_numbe r"];
            $precinct_name = $pct_data["precinct_n ame"];
            $precinct_cc = $pct_data["countydist "];
            $precinct_cd = $pct_data["congdist"];
            $precinct_ld = $pct_data["legdist"];
            $precinct_pco_n ame = $query_data["name"];
            $precinct_pco_e mail = $query_data["email"];
            $precinct_pco_p rivate = $query_data["private"];
            $precinct_pco_t ype = $query_data["type"];
            echo('
            <tr>
            <td>'.$precinct _number.'</td>
            <td><a href="precinctm ap.php?pct='.$p recinct_number. '">'.
            $precinct_name. '</a></td>
            <td>'.$precinct _cc.'</td>
            <td>'.$precinct _cd.'</td>
            <td>'.$precinct _ld.'</td>
            <td>'.$precinct _pco_name.'</td>
            <td>'.$precinct _pco_type.'</td>
            </tr>');
            }
            echo('</table>');
            >
            (Top posting fixed)

            PHP isn't going to affect whether your SQL code returns null values or
            not. If a particular row contains a null, you'll get a null back from
            your sql. And since you're doing a left join, if there is no matching
            row in pcolist you will get nulls for all values there.

            And you're still asking about the SQL, not PHP. You need to be asking
            in a SQL newsgroup - you'll get much better help on your SQL question.

            And please don't top post.

            --
            =============== ===
            Remove the "x" from my email address
            Jerry Stuckle
            JDS Computer Training Corp.
            jstucklex@attgl obal.net
            =============== ===

            Comment

            • chadlupkes

              #7
              Re: Having trouble with left join

              On Mar 28, 5:38 am, Jerry Stuckle <jstuck...@attg lobal.netwrote:
              chadlupkes wrote:
              On Mar 27, 8:24 am, Toby A Inkster <usenet200...@t obyinkster.co.u k>
              wrote:
              chadlupkes wrote:
              >I'm getting NULLs where there shouldn't be.
              To determine that, we'd need to see some of the data.
              >
              >king_precinc t
              You've not given us a schema for this table.
              >
              --
              Toby A Inkster BSc (Hons) ARCS
              Contact Me ~http://tobyinkster.co.uk/contact
              Geek of ~ HTML/SQL/Perl/PHP/Python*/Apache/Linux
              >
              * = I'm getting there!
              >
              Here are the tables:

              king_precinct

              Field Type Null Key Default Extra
              id smallint(6) PRI NULL auto_increment
              precinct_number int(11) 0
              precinct_name varchar(20) MUL
              countydist smallint(6) 0
              congdist smallint(6) 0
              legdist smallint(6) 0

              "precinct_n ame" is the name of the precinct, not the PCO. That's in
              the next table.

              pcolist
              Field Type Null Key Default Extra
              id smallint(6) PRI NULL auto_increment
              precinct int(11) 0
              pctname varchar(15)
              area varchar(4)
              legdist smallint(6) 0
              countydist smallint(6) 0
              congdist smallint(6) 0
              name varchar(50)
              email varchar(50) MUL
              private tinyint(1) 0
              type varchar(5)
              >
              And since this is a PHP forum, which Jerry reminded me of, here is the
              code I'm trying to get to work:
              >
              echo('<html>
              <head>
              <title>Precinct s in King County</title>
              </head>
              <body>
              <table border="1">
              <tr>
              <th>Precinct Number</th>
              <th>Precinct Name</th>
              <th>County Council District</th>
              <th>Congression al District</th>
              <th>Legislati ve District</th>
              <th>PCO Name</th>
              <th>PCO Type</th>
              </tr>
              ');
              $link_id = db_connect('wa4 6dems_data');
              $result = mysql_query("SE LECT king_precinct.p recinct_number AS precinct_number , king_precinct.p recinct_name AS precinct_name, king_precinct.l egdist AS legdist, king_precinct.c ountydist AS countydist, king_precinct.c ongdist AS congdist, pcolist.name AS name, pcolist.type AS type
              FROM king_precinct LEFT JOIN pcolist
              ON king_precinct.p recinct_number = pcolist.precinc t
              ORDER BY precinct_name", $link_id);
              while($pct_data = mysql_fetch_arr ay($result)) {
              $precinct_numbe r = $pct_data["precinct_numbe r"];
              $precinct_name = $pct_data["precinct_n ame"];
              $precinct_cc = $pct_data["countydist "];
              $precinct_cd = $pct_data["congdist"];
              $precinct_ld = $pct_data["legdist"];
              $precinct_pco_n ame = $query_data["name"];
              $precinct_pco_e mail = $query_data["email"];
              $precinct_pco_p rivate = $query_data["private"];
              $precinct_pco_t ype = $query_data["type"];
              echo('
              <tr>
              <td>'.$precinct _number.'</td>
              <td><a href="precinctm ap.php?pct='.$p recinct_number. '">'.
              $precinct_name. '</a></td>
              <td>'.$precinct _cc.'</td>
              <td>'.$precinct _cd.'</td>
              <td>'.$precinct _ld.'</td>
              <td>'.$precinct _pco_name.'</td>
              <td>'.$precinct _pco_type.'</td>
              </tr>');
              }
              echo('</table>');
              >
              >
              (Top posting fixed)
              >
              PHP isn't going to affect whether your SQL code returns null values or
              not. If a particular row contains a null, you'll get a null back from
              your sql. And since you're doing a left join, if there is no matching
              row in pcolist you will get nulls for all values there.
              >
              And you're still asking about the SQL, not PHP. You need to be asking
              in a SQL newsgroup - you'll get much better help on your SQL question.
              >
              And please don't top post.
              >
              --
              =============== ===
              Remove the "x" from my email address
              Jerry Stuckle
              JDS Computer Training Corp.
              jstuck...@attgl obal.net
              =============== ===
              I think it's something to do with my PHP code, because when I run the
              SQL query within mysql, it works exactly how I want it to. I think
              I'm doing something wrong in the code, but I just can't see it.

              You can see the results that are coming out of the query here:



              I'll copy the mysql group to see if anyone there has ideas that might
              work.

              Comment

              • Jerry Stuckle

                #8
                Re: Having trouble with left join

                chadlupkes wrote:
                On Mar 28, 5:38 am, Jerry Stuckle <jstuck...@attg lobal.netwrote:
                >chadlupkes wrote:
                >>On Mar 27, 8:24 am, Toby A Inkster <usenet200...@t obyinkster.co.u k>
                >>wrote:
                >>>chadlupkes wrote:
                >>>>I'm getting NULLs where there shouldn't be.
                >>>To determine that, we'd need to see some of the data.
                >>>>king_precin ct
                >>>You've not given us a schema for this table.
                >>>--
                >>>Toby A Inkster BSc (Hons) ARCS
                >>>Contact Me ~http://tobyinkster.co.uk/contact
                >>>Geek of ~ HTML/SQL/Perl/PHP/Python*/Apache/Linux
                >>>* = I'm getting there!
                Here are the tables:
                >
                king_precinct
                >
                Field Type Null Key Default Extra
                id smallint(6) PRI NULL auto_increment
                precinct_number int(11) 0
                precinct_name varchar(20) MUL
                countydist smallint(6) 0
                congdist smallint(6) 0
                legdist smallint(6) 0
                >
                "precinct_n ame" is the name of the precinct, not the PCO. That's in
                the next table.
                >
                pcolist
                Field Type Null Key Default Extra
                id smallint(6) PRI NULL auto_increment
                precinct int(11) 0
                pctname varchar(15)
                area varchar(4)
                legdist smallint(6) 0
                countydist smallint(6) 0
                congdist smallint(6) 0
                name varchar(50)
                email varchar(50) MUL
                private tinyint(1) 0
                type varchar(5)
                > >
                > And since this is a PHP forum, which Jerry reminded me of, here is the
                > code I'm trying to get to work:
                > >
                > echo('<html>
                > <head>
                > <title>Precinct s in King County</title>
                > </head>
                > <body>
                > <table border="1">
                > <tr>
                > <th>Precinct Number</th>
                > <th>Precinct Name</th>
                > <th>County Council District</th>
                > <th>Congression al District</th>
                > <th>Legislati ve District</th>
                > <th>PCO Name</th>
                > <th>PCO Type</th>
                > </tr>
                > ');
                > $link_id = db_connect('wa4 6dems_data');
                > $result = mysql_query("SE LECT king_precinct.p recinct_number AS precinct_number , king_precinct.p recinct_name AS precinct_name, king_precinct.l egdist AS legdist, king_precinct.c ountydist AS countydist, king_precinct.c ongdist AS congdist, pcolist.name AS name, pcolist.type AS type
                > FROM king_precinct LEFT JOIN pcolist
                > ON king_precinct.p recinct_number = pcolist.precinc t
                > ORDER BY precinct_name", $link_id);
                > while($pct_data = mysql_fetch_arr ay($result)) {
                > $precinct_numbe r = $pct_data["precinct_numbe r"];
                > $precinct_name = $pct_data["precinct_n ame"];
                > $precinct_cc = $pct_data["countydist "];
                > $precinct_cd = $pct_data["congdist"];
                > $precinct_ld = $pct_data["legdist"];
                > $precinct_pco_n ame = $query_data["name"];
                > $precinct_pco_e mail = $query_data["email"];
                > $precinct_pco_p rivate = $query_data["private"];
                > $precinct_pco_t ype = $query_data["type"];
                > echo('
                > <tr>
                > <td>'.$precinct _number.'</td>
                > <td><a href="precinctm ap.php?pct='.$p recinct_number. '">'.
                > $precinct_name. '</a></td>
                > <td>'.$precinct _cc.'</td>
                > <td>'.$precinct _cd.'</td>
                > <td>'.$precinct _ld.'</td>
                > <td>'.$precinct _pco_name.'</td>
                > <td>'.$precinct _pco_type.'</td>
                > </tr>');
                > }
                > echo('</table>');
                > >
                >>
                >(Top posting fixed)
                >>
                >PHP isn't going to affect whether your SQL code returns null values or
                >not. If a particular row contains a null, you'll get a null back from
                >your sql. And since you're doing a left join, if there is no matching
                >row in pcolist you will get nulls for all values there.
                >>
                >And you're still asking about the SQL, not PHP. You need to be asking
                >in a SQL newsgroup - you'll get much better help on your SQL question.
                >>
                >And please don't top post.
                >>
                >--
                >============== ====
                >Remove the "x" from my email address
                >Jerry Stuckle
                >JDS Computer Training Corp.
                >jstuck...@attg lobal.net
                >============== ====
                >
                I think it's something to do with my PHP code, because when I run the
                SQL query within mysql, it works exactly how I want it to. I think
                I'm doing something wrong in the code, but I just can't see it.
                >
                You can see the results that are coming out of the query here:
                >

                >
                I'll copy the mysql group to see if anyone there has ideas that might
                work.
                >
                Chad,

                I just took another look at this (actually in the comp.databases. mysql
                group) and your output. Your problem is right here:

                $precinct_pco_n ame = $query_data["name"];
                $precinct_pco_e mail = $query_data["email"];
                $precinct_pco_p rivate = $query_data["private"];
                $precinct_pco_t ype = $query_data["type"];

                The problem is your result is in $pct_data from:

                while($pct_data = mysql_fetch_arr ay($result))

                A suggestion - any time you have problems like this, check your PHP
                error log (usually the webserver's error log) or add the following to
                the beginning of your script:

                error_reporting (E_ALL);
                ini_set("displa y_errors", "1");

                This will display all errors, warnings, notices, etc. You should have
                gotten a notice on the above statements (missing index in the array - if
                it is even an array);

                So I was wrong and it was a PHP error - but something like when you have
                both mysql and php involved it never hurts to post to both groups.

                And actually seeing the output helped a lot.

                --
                =============== ===
                Remove the "x" from my email address
                Jerry Stuckle
                JDS Computer Training Corp.
                jstucklex@attgl obal.net
                =============== ===

                Comment

                • Toby A Inkster

                  #9
                  Re: Having trouble with left join

                  chadlupkes wrote:
                  I think it's something to do with my PHP code, because when I run the
                  SQL query within mysql, it works exactly how I want it to.
                  Permissions?

                  Are you running the queries under the same set of permissions in both
                  cases?

                  --
                  Toby A Inkster BSc (Hons) ARCS
                  Contact Me ~ http://tobyinkster.co.uk/contact
                  Geek of ~ HTML/SQL/Perl/PHP/Python*/Apache/Linux

                  * = I'm getting there!

                  Comment

                  • chadlupkes

                    #10
                    Re: Having trouble with left join

                    On Mar 29, 8:13 am, Jerry Stuckle <jstuck...@attg lobal.netwrote:
                    chadlupkes wrote:
                    On Mar 28, 5:38 am, Jerry Stuckle <jstuck...@attg lobal.netwrote:
                    chadlupkes wrote:
                    >On Mar 27, 8:24 am, Toby A Inkster <usenet200...@t obyinkster.co.u k>
                    >wrote:
                    >>chadlupkes wrote:
                    >>>I'm getting NULLs where there shouldn't be.
                    >>To determine that, we'd need to see some of the data.
                    >>>king_precinc t
                    >>You've not given us a schema for this table.
                    >>--
                    >>Toby A Inkster BSc (Hons) ARCS
                    >>Contact Me ~http://tobyinkster.co.uk/contact
                    >>Geek of ~ HTML/SQL/Perl/PHP/Python*/Apache/Linux
                    >>* = I'm getting there!
                    Here are the tables:
                    >
                    king_precinct
                    >
                    Field Type Null Key Default Extra
                    id smallint(6) PRI NULL auto_increment
                    precinct_number int(11) 0
                    precinct_name varchar(20) MUL
                    countydist smallint(6) 0
                    congdist smallint(6) 0
                    legdist smallint(6) 0
                    >
                    "precinct_n ame" is the name of the precinct, not the PCO. That's in
                    the next table.
                    >
                    pcolist
                    Field Type Null Key Default Extra
                    id smallint(6) PRI NULL auto_increment
                    precinct int(11) 0
                    pctname varchar(15)
                    area varchar(4)
                    legdist smallint(6) 0
                    countydist smallint(6) 0
                    congdist smallint(6) 0
                    name varchar(50)
                    email varchar(50) MUL
                    private tinyint(1) 0
                    type varchar(5)
                    >
                    And since this is a PHP forum, which Jerry reminded me of, here is the
                    code I'm trying to get to work:
                    >
                    echo('<html>
                    <head>
                    <title>Precinct s in King County</title>
                    </head>
                    <body>
                    <table border="1">
                    <tr>
                    <th>Precinct Number</th>
                    <th>Precinct Name</th>
                    <th>County Council District</th>
                    <th>Congression al District</th>
                    <th>Legislati ve District</th>
                    <th>PCO Name</th>
                    <th>PCO Type</th>
                    </tr>
                    ');
                    $link_id = db_connect('wa4 6dems_data');
                    $result = mysql_query("SE LECT king_precinct.p recinct_number AS precinct_number , king_precinct.p recinct_name AS precinct_name, king_precinct.l egdist AS legdist, king_precinct.c ountydist AS countydist, king_precinct.c ongdist AS congdist, pcolist.name AS name, pcolist.type AS type
                    FROM king_precinct LEFT JOIN pcolist
                    ON king_precinct.p recinct_number = pcolist.precinc t
                    ORDER BY precinct_name", $link_id);
                    while($pct_data = mysql_fetch_arr ay($result)) {
                    $precinct_numbe r = $pct_data["precinct_numbe r"];
                    $precinct_name = $pct_data["precinct_n ame"];
                    $precinct_cc = $pct_data["countydist "];
                    $precinct_cd = $pct_data["congdist"];
                    $precinct_ld = $pct_data["legdist"];
                    $precinct_pco_n ame = $query_data["name"];
                    $precinct_pco_e mail = $query_data["email"];
                    $precinct_pco_p rivate = $query_data["private"];
                    $precinct_pco_t ype = $query_data["type"];
                    echo('
                    <tr>
                    <td>'.$precinct _number.'</td>
                    <td><a href="precinctm ap.php?pct='.$p recinct_number. '">'.
                    $precinct_name. '</a></td>
                    <td>'.$precinct _cc.'</td>
                    <td>'.$precinct _cd.'</td>
                    <td>'.$precinct _ld.'</td>
                    <td>'.$precinct _pco_name.'</td>
                    <td>'.$precinct _pco_type.'</td>
                    </tr>');
                    }
                    echo('</table>');
                    >
                    (Top posting fixed)
                    >
                    PHP isn't going to affect whether your SQL code returns null values or
                    not. If a particular row contains a null, you'll get a null back from
                    your sql. And since you're doing a left join, if there is no matching
                    row in pcolist you will get nulls for all values there.
                    >
                    And you're still asking about the SQL, not PHP. You need to be asking
                    in a SQL newsgroup - you'll get much better help on your SQL question.
                    >
                    And please don't top post.
                    >
                    --
                    =============== ===
                    Remove the "x" from my email address
                    Jerry Stuckle
                    JDS Computer Training Corp.
                    jstuck...@attgl obal.net
                    =============== ===
                    >
                    I think it's something to do with my PHP code, because when I run the
                    SQL query within mysql, it works exactly how I want it to. I think
                    I'm doing something wrong in the code, but I just can't see it.
                    >
                    You can see the results that are coming out of the query here:
                    >>
                    I'll copy the mysql group to see if anyone there has ideas that might
                    work.
                    >
                    Chad,
                    >
                    I just took another look at this (actually in the comp.databases. mysql
                    group) and your output. Your problem is right here:
                    >
                    $precinct_pco_n ame = $query_data["name"];
                    $precinct_pco_e mail = $query_data["email"];
                    $precinct_pco_p rivate = $query_data["private"];
                    $precinct_pco_t ype = $query_data["type"];
                    >
                    The problem is your result is in $pct_data from:
                    >
                    while($pct_data = mysql_fetch_arr ay($result))
                    >
                    A suggestion - any time you have problems like this, check your PHP
                    error log (usually the webserver's error log) or add the following to
                    the beginning of your script:
                    >
                    error_reporting (E_ALL);
                    ini_set("displa y_errors", "1");
                    >
                    This will display all errors, warnings, notices, etc. You should have
                    gotten a notice on the above statements (missing index in the array - if
                    it is even an array);
                    >
                    So I was wrong and it was a PHP error - but something like when you have
                    both mysql and php involved it never hurts to post to both groups.
                    >
                    And actually seeing the output helped a lot.
                    >
                    --
                    =============== ===
                    Remove the "x" from my email address
                    Jerry Stuckle
                    JDS Computer Training Corp.
                    jstuck...@attgl obal.net
                    =============== ===
                    Isn't it true that 90% of errors like this just need an extra pair of
                    eyes? Thanks, Jerry. I really appreciate your help.



                    Chad

                    Comment

                    Working...