我有 2 个预填充的表链接到我的用户表,我该如何使用这些数据?
Posted
技术标签:
【中文标题】我有 2 个预填充的表链接到我的用户表,我该如何使用这些数据?【英文标题】:I have 2 prepopulated tables linked to my users table, how do I use that data? 【发布时间】:2018-03-16 00:54:42 【问题描述】:我有一个用户表:'users' 列有 'user_id'、'username'、'password'、'state_code'、'city_id'
还有 2 个预填充的表格:
带有列的'states':'state_code'、'state'
'cities' 列:'city_id'、'city'、'state_code'、'zip'、'county'
我添加了一个用户并在 u.state_code 下放置了一个值“CA” 并做了以下测试
SELECT u.*, s.state, c.city
FROM users AS u
LEFT JOIN states AS s
ON s.state_code - u.state_code
LEFT JOIN cities AS c
ON c.state_code = s.state_code
WHERE u.user_id = "4"
AND u.state_code = "CA"
AND c.zip = "91343";
查询运行但返回一个空集,我想查询与该邮政编码对应的城市,我显然有一个与该邮政编码和州代码对应的数据,我还是相当新的,可以我不知道如何使用预先填充的表格,如果有人可以指出我正确的方向,我将不胜感激。
【问题讨论】:
【参考方案1】:在left join
中,除第一个表之外的所有条件都应放在on
子句中:
SELECT u.*, s.state, c.city
FROM users u LEFT JOIN
states s
ON s.state_code - u.state_code LEFT JOIN
cities c
ON c.state_code = s.state_code AND c.zip = '91343'
WHERE u.user_id = 4 AND u.state_code = 'CA';
注意:对字符串和日期常量使用单引号。不要将它们用于数字。
【讨论】:
以上是关于我有 2 个预填充的表链接到我的用户表,我该如何使用这些数据?的主要内容,如果未能解决你的问题,请参考以下文章