Hello Guys,
I have a (very simple?) SQL question. I'm more then sure the answer to it is
whether "just do this..." or "It's impossible man, how could you even get
that into your mind..."
I have this database design: (it's more complex of course, but you get an
idea)
Table 'accounts':
+-------+------+------------+
| ID | type | since |
+-------+------+------------+
| 00001 | P | 1999-08-01 |
| 00002 | F | 1999-11-06 |
| 00003 | S | 2000-07-05 |
| 00004 | P | 2001-01-01 |
+-------+------+------------+
Table 'addresses':
+-------+--------------+------+---------+
| ID | city | pref | country |
+-------+--------------+------+---------+
| 00001 | Shibuya-ku | 13 | JP |
| 00002 | Nakano-ku | 13 | JP |
| 00004 | Toyonaka-shi | 27 | JP |
+-------+--------------+------+---------+
As you can see, the main data is in 'accounts', the 'addresses.ID' is UNIQUE
and corresponds to 'accounts.ID'. The fact is that not every account has an
address registered with it.
I need to list ALL the accounts in this order:
+---+------+-----+--------+-------+
| ID | Type | City | Country | Since |
+---+------+-----+--------+-------+
Therefore I am trying to do it with the following query:
SELECT
accounts.ID AS ID,
accounts.type AS Type,
addresses.city AS City,
addresses.country AS Country,
accounts.since AS Since
FROM
accounts,
addresses
WHERE
addresses.ID=accounts.ID
ORDER
BY
accounts.ID
ASC
LIMIT
10
;
And, this selects me IDs 00001, 00002 and 00004.
00003, obviously, is not here because there's no such address.ID as stated
in my WHERE clause.
Can anyone suggest me how do I SELECT ALL of the accounts having simply NULL
on 'addresses.*' when there's no such row, instead of 'loosing' the whole
'account' row?
I sure know how to do it using two queries, still, I wonder if one single
query can do this job.
Where do I miss the logic?
Thanks in advance.
-maxim
Maxim Maletsky - [EMAIL PROTECTED]
Webmaster, J-Door.com / J@pan Inc.
LINC Media, Inc.
TEL: 03-3499-2175 x 1271
FAX: 03-3499-3109
http://www.j-door.com
http://www.japaninc.net
http://www.lincmedia.co.jp
---------------------------------------------------------------------
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