我使用我的第一个查询来获取用户的ID和名称:
select id,name from temp_card where sex='$sex' and city='$city' order by name ASC
然后我有第二个查询使用第一个查询的结果,并从另一个表中获取更多数据:
select images from temp_card_images where temp_card_id=". $row['id'] ." order by id ASC limit 1
如何组合这两个查询,以便在一个while循环中打印出3个字段(id,name和images)?
谢谢!
答案 0 :(得分:3)
您需要执行JOIN查询
select tc.id, tc.name, tci.images from temp_card tc
left join temp_card_images tci
on tc.id = tci.temp_card_id
where tc.sex='$sex' and tc.city='$city' order by tc.name ASC
答案 1 :(得分:2)
您需要了解JOIN。这可以像这样实现
SELECT tc.id,tc.name,tci.images
FROM temp_card tc
INNER JOIN temp_card_images tci ON tc.id=tci.temp_card_id
WHERE sex='$sex'
AND city='$city'
GROUP BY tc.id
ORDER BY name ASC
答案 2 :(得分:0)
虽然不相关,但我强烈建议您考虑使用PDO作为数据库访问层。它适用于大多数数据库类型,如MySQL,SQLite等。它将有助于防止SQL注入到您的数据库。
删除了答案,因为给定的连接是更好的答案。