我认为SQL可能不是这种高级 - 或者它可能是PHP + MySQL的限制,但请考虑这种情况:
我有一个用户表和一个配置文件表。
我想通过他们的ID获取用户。用户表具有对配置文件表的外键引用。我可以以某种方式连接表,以便响应将产生这样的对象:(注意:有足够的PHP这是可行的,但我想将它保持为单个MySQL查询)
user_id: 1
username: foo
profile => first_name: Foo
last_name: Bar
picture: foo.jpg
email: foo@example.com
这可以在C#中使用LINQ,我只是想知道是否有PHP的等价物。
答案 0 :(得分:-1)
我认为你需要做的是一个简单的JOIN。
SELECT users.*, profiles.*
FROM `users`
LEFT JOIN profiles
ON users.id = profiles.user_id
WHERE users.id = '$user_id_var'
LIMIT 1;
这将为您的用户附加个人资料数据,但不会要求个人资料数据返回正面结果。
您需要小心考虑冲突的密钥,但此查询应该让您走上正确的道路。