簡體   English   中英

如何從一個表中選擇一行,並從另一個(相關)表中選擇許多行

[英]How to select a row from a table and many rows from another (related) table

我不擅長“制作”查詢。 假設這是我的數據庫:

          artist                          pics
    -------------------       ---------------------------------------
    | id | name | age |       | id_artist | picUrl | picDescription |
    -------------------       ---------------------------------------
       |                          /\
       ----------------------------

我必須做出選擇,才能獲得(全部)藝術家的全部照片。 藝術家總是一個,而照片通常很多。 有沒有一種方法可以僅通過一個查詢獲取此數據? 查詢完成后,如何處理表字段以檢索其值?

我需要“打印這樣的東西”

邁克爾傑克遜

-pics 1 blablabla

-pics 2 blablabla

-pics 3 blablabla

....

謝謝

嘗試這個:-

SELECT A.id, A.name, B.picUrl, B.picDescription
FROM artist A, pics B
WHERE A.id = B.id_artist;

如果您四處搜尋Google,應該會獲得許多幫助。

無論如何,您將要使用以下查詢:

SELECT * from artist ar INNER JOIN pics p ON ar.id=p.id_artist

您必須使用聯接:

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,

使用聯接:

SELECT a.*, b.picUrl, b.picDescription FROM artist a
INNER JOIN pics b on b.id_artist = a.id

您可以在這兩個表之間使用內部聯接。 只要有匹配項,它將顯示兩個表中的所有行。

SELECT column_name(s)
FROM artist
INNER JOIN pics
ON artist.id=pics.id_artist;

如果您只想返回單個值,請為特定的律師引入Where子句。 例如

WHERE artist.id=001 
SELECT 
  id,
  `name`,
  picurl,
  picdescription 
FROM
  artist 
  INNER JOIN pics 
    ON artist.`id` = pics.`id_artist` ;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM