我想在 mysql 中创建一个 SELECT
查询。
有两个表,users
和 image_info
,需要选择以下列。
用户表:user_id、用户名、出生日期
图像信息:图像,图像路径
选择图像时。我只需要从 image_info 表中获取主图像。在 image_info 表中有一个列,例如:
image_type ENUM('primary', 'gallery') DEFAULT NULL,
这就是我尝试的方法..
$q = "SELECT u.user_id, u.username, u.dob, i.image, i.image_path
FROM users u
INNER JOIN image_info i ON i.user_id = u.user_id
WHERE u.sex = 'Male'
ORDER BY u.date_registered DESC LIMIT 6";
但它无法正常工作以获得我的预期输出。
更新: 我的表输出..
mysql> select user_id, username, sex from users;
+---------+-------------+--------+
| user_id | username | sex |
+---------+-------------+--------+
| 1 | thara1234 | Male |
| 2 | root234 | Male |
| 3 | kamal123 | Female |
| 4 | Nilantha | Male |
| 5 | Ruwan324324 | Male |
+---------+-------------+--------+
5 rows in set (0.00 sec)
mysql> select user_id, image, image_type from image_info;
+---------+----------------------------+------------+
| user_id | image | image_type |
+---------+----------------------------+------------+
| 2 | 2_root234_1433564588.jpg | primary |
| 1 | 1_thara1234_1433555104.jpg | primary |
| 1 | 1_thara1234_1433556481.jpg | gallery |
| 4 | 4_Nilantha_1433573768.jpg | primary |
+---------+----------------------------+------------+
4 rows in set (0.03 sec)
谢谢。
最佳答案
我认为,查询是:-
SELECT User.user_id, User.username, User.dob, Image.image, Image.image_path
FROM
users User LEFT JOIN image_info Image
ON User.user_id = Image.user_id AND Image.image_type = 'PRIMARY'
WHERE User.sex= 'Male'
ORDER BY User.date_registered DESC LIMIT 6
关于php - 我如何进行这个选择查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30680921/