我想从一个查询中的两个相关表中获取数据。 表是这样的:如何从两个相关表中获取数据?
表1:
--------------------------
| ID | username |
--------------------------
| 1 | user1 |
| 2 | user2 |
| 3 | user3 |
| 4 | user4 |
--------------------------
表2:
----------------------------------------------------
| ID | user_id | key | value |
----------------------------------------------------
| 1 | 1 | key1 | value1 |
| 2 | 1 | key2 | value2 |
| 3 | 2 | key2 | value3 |
| 4 | 3 | key3 | value4 |
| 5 | 4 | key1 | value5 |
| 6 | 4 | key3 | value5 |
----------------------------------------------------
我想包括从表1和键值对从表2中的所有行的结果key = key1。如果表1中表1中给定行的键不存在,则用NULL填充它。预期的结果例子:
----------------------------------------------------
| user_id | username | key | value |
----------------------------------------------------
| 1 | user1 | key1 | value1 |
| 2 | user2 | NULL | NULL |
| 3 | user3 | NULL | NULL |
| 4 | user4 | key1 | value5 |
----------------------------------------------------
备选地 - 所有从表1不包含键 - 值对键KEY1 =表2
我从2个表和从SELECT
试图标准SELECT
行表1与表2中的JOIN
,但我得到的是表1中的所有行,其中包含表2中的key = key1的键值对,这与我想要的完全相反。
有什么建议吗?
,他一直在寻找只允许某个键=“键1”的样本,以及或者如何获得倒数(只有那些没“T)。你有没有看到我的回答... – DRapp 2012-02-08 22:52:17
哦,我明白了。谢谢。 – 2012-02-08 23:07:55