我的数据库中有三个相关的表。 Grammars
,Users
和Organizations
。
Grammars
表与users
表到字段creator
的字段int
相关,并且是来自users id
的外键。
接下来,我们有organizations
表,而该表又与users
表相关。类型为Users
的{{1}}表字段organization
是表id
的外键。
如何通过organizations id
选择一个语法,然后选择相应的id
信息,然后选择用户所属的相应creator
信息?
organization
describe grammars;
+------------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+------------------+------+-----+---------+----------------+
| id | int(11) unsigned | NO | PRI | NULL | auto_increment |
| name | varchar(255) | NO | | NULL | |
| short_name | varchar(255) | YES | | NULL | |
| description | varchar(255) | YES | | NULL | |
| domain | int(10) unsigned | YES | MUL | NULL | |
| url | varchar(255) | YES | | NULL | |
| seo_friendly_url | varchar(255) | NO | | NULL | |
| encoding | int(11) unsigned | YES | MUL | NULL | |
| distribution | int(11) unsigned | YES | MUL | NULL | |
| project | int(11) unsigned | YES | MUL | NULL | |
| creator | int(11) unsigned | YES | MUL | NULL | |
| language | int(11) unsigned | YES | MUL | NULL | |
| link | varchar(255) | NO | | NULL | |
| creation_date | datetime | NO | | NULL | |
| last_update | datetime | NO | | NULL | |
| schema | varchar(255) | YES | | NULL | |
| type | int(11) unsigned | YES | MUL | NULL | |
| organization | int(11) unsigned | YES | MUL | NULL | |
+------------------+------------------+------+-----+---------+----------------+
describe Users;
+--------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+------------------+------+-----+---------+----------------+
| id | int(11) unsigned | NO | PRI | NULL | auto_increment |
| first_name | varchar(20) | NO | | NULL | |
| last_name | varchar(40) | NO | | NULL | |
| username | varchar(30) | NO | MUL | NULL | |
| password | varbinary(32) | NO | | NULL | |
| email | varchar(80) | NO | MUL | NULL | |
| organization | int(11) unsigned | YES | MUL | NULL | |
| group | int(11) unsigned | NO | MUL | 1 | |
+--------------+------------------+------+-----+---------+----------------+
describe Organizations;
当我尝试
时+--------------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+------------------+------+-----+---------+----------------+
| id | int(11) unsigned | NO | PRI | NULL | auto_increment |
| name | varchar(255) | NO | | NULL | |
| department | varchar(255) | NO | | NULL | |
| communication_info | varchar(255) | NO | | NULL | |
+--------------------+------------------+------+-----+---------+----------------+
我有空值而有值。有什么建议??
答案 0 :(得分:0)
此查询未返回任何数据的唯一原因是因为Grammars中没有行可以完成: Grammars.id = id
如果您正在使用LEFT JOIN,则不会限制Grammars返回。 " id"的价值是多少? ?看看你的表格,我看到你有一个" id"每一个中的字段...您应该限定此字段名称并确保某些行符合条件。