mysql> create table users(
-> usrID smallint unsigned auto_increment,
-> usrZip char(5),
-> primary key(usrID));
Query OK, 0 rows affected (0.00 sec)
mysql> create table cities(
-> ctyZip char(5) not null,
-> ctyName varchar(30) not null,
-> primary key(ctyZip));
Query OK, 0 rows affected (0.00 sec)
[Insert some values]
mysql> select * from users;
+-------+--------+
| usrID | usrZip |
+-------+--------+
| 1 | 90210 |
| 2 | 12345 |
| 3 | 30300 |
| 4 | NULL |
+-------+--------+
4 rows in set (0.00 sec)
mysql> select * from cities;
+--------+---------------+
| ctyZip | ctyName |
+--------+---------------+
| 90210 | Beverly Hills |
| 12345 | Fubar Town |
| 30300 | Rowland City |
+--------+---------------+
3 rows in set (0.00 sec)
mysql> select usrID, usrZip, ctyName from users left join cities on
usrZip=ctyZip;
+-------+--------+---------------+
| usrID | usrZip | ctyName
+-------+--------+---------------+
| 1 | 90210 | Beverly Hills |
| 2 | 12345 | Fubar Town |
| 3 | 30300 | Rowland City |
| 4 | NULL | NULL |
+-------+--------+---------------+
4 rows in set (0.00 sec)
mysql> select usrID, usrZip, ctyName from users left join cities on
usrZip=ctyZip where usrID=4;
+-------+--------+---------------+
| usrID | usrZip | ctyName
+-------+--------+---------------+
| 4 | NULL | NULL |
+-------+--------+---------------+
1 row in set (0.00 sec)
Is that what you are looking for?
sorry I redone your table definitions, but you should have the same type
of data for the linked keys (in thsi case you had varchar255 for zip in
the peoples table and a tinyint for the zip in the city table.
HTH
Etienne
Micha�l Delorme wrote:
>
> Hi guys
>
> I have a problem on a SQL query : I got no records selected. Below
> is a sample of my 2 tables :
>
> ****
> A table identifying people, containing their adress therefore a ZIP
> code. However for some people I don't have their adress, so no ZIP code :
>
> Table People
> +----------+------+
> | PeopleID | zip | ...
> +----------+------+
> | 1 | 1 |
> | 2 | Null |
> | 3 | Null |
> | 4 | 3 |
> | ... |
> +----------+------+
>
> ****
> Another table describe ZIP codes and cities :
>
> Table City
> +-----+------+
> | zip | city | ...
> +-----+------+
> | 1 | aaa |
> | 2 | bbb |
> | 3 | ccc |
> | 4 | ddd |
> | 5 | eee |
> | ... |
> +-----+------+
>
> Here is my query :
>
> SELECT
> people.peopleId,
> people.zip,
> city.city
>
> FROM
> people,
> city
>
> WHERE
> people.zip = city.zip
> and people.peopleId = "2";
>
> I don't get any selection... wheras I expect :
> +----------+------+------+
> | PeopleID | zip | city |
> +----------+------+------+
> | 2 | Null | Null |
> +----------+------+------+
>
> Where am I wrong ?
> Thanks in advance
> Michael
>
> Here are the table definitions :
>
> CREATE TABLE `people` (
> `peopleId` tinyint(1) unsigned NOT NULL auto_increment,
> `zip` varchar(255) default NULL,
> PRIMARY KEY (`peopleId`)
> )
>
> CREATE TABLE `city` (
> `zip` tinyint(1) unsigned NOT NULL auto_increment,
> `city` varchar(255) default NULL,
> PRIMARY KEY (`zip`)
> )
>
> __________________________________________
> Michael Delorme
> GIS Manager
> French Mediterranean Botanical Conservancy
> mailto:[EMAIL PROTECTED]
>
> ---------------------------------------------------------------------
> Before posting, please check:
> http://www.mysql.com/manual.php (the manual)
> http://lists.mysql.com/ (the list archive)
>
> To request this thread, e-mail <[EMAIL PROTECTED]>
> To unsubscribe, e-mail <[EMAIL PROTECTED]>
> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
--
Etienne Marcotte
Specifications Management - Quality Control
Imperial Tobacco Ltd. - Montreal (Qc) Canada
514.932.6161 x.4001
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php