我不擅长“制作”查询。让我们说这是我的db:
artist pics
------------------- ---------------------------------------
| id | name | age | | id_artist | picUrl | picDescription |
------------------- ---------------------------------------
| /\
----------------------------
我必须选择一个(单一)艺术家的所有照片。艺术家永远是一个,照片通常很多。 有没有办法只用一个查询来获取这些数据?查询完成后,如何处理表字段以检索其值?
我需要“打印这样的东西”
迈克尔杰克逊-pics 1 blablabla
-pics 2 blablabla
-pics 3 blablabla
...
谢谢
答案 0 :(得分:0)
试试这个: -
SELECT A.id, A.name, B.picUrl, B.picDescription
FROM artist A, pics B
WHERE A.id = B.id_artist;
答案 1 :(得分:0)
如果你用Google搜索,你应该得到很多帮助。
无论如何,你会想要使用以下查询:
SELECT * from artist ar INNER JOIN pics p ON ar.id=p.id_artist
答案 2 :(得分:0)
你必须使用连接:
select * from artist a inner join pics p on a.id=p.id_artist
此查询不会为您提供没有图片的艺术家。得到他们:
select * from artist a left join pics p on a.id=p.id_artist
RGDS,
答案 3 :(得分:0)
使用联接:
SELECT a.*, b.picUrl, b.picDescription FROM artist a
INNER JOIN pics b on b.id_artist = a.id
答案 4 :(得分:0)
您可以在这两个表之间使用内部联接。只要匹配,这将显示两个表中的所有行。
SELECT column_name(s)
FROM artist
INNER JOIN pics
ON artist.id=pics.id_artist;
如果您只想获得返回的单个值,请为特定的atrist引入Where子句。 E.g。
WHERE artist.id=001
答案 5 :(得分:0)
SELECT
id,
`name`,
picurl,
picdescription
FROM
artist
INNER JOIN pics
ON artist.`id` = pics.`id_artist` ;