2

我需要能够给我这个结果的查询。 在此处输入图像描述

这是我的 3 张桌子。ColumnsIDgolub和from指的是 ID IDmajkafrom 。列from指的是 ID from 。IDotacmg_popis_golubovamg_golubIDstatusmg_popis_golubovamg_status

在此处输入图像描述

这是我用来完成此任务的查询。但它不起作用。因为它只合并来自的列和来自IDgolubmg_popis_golubova列。怎么样 ,。如何合并这两列以获得结果。IDmg_golubIDgolubIDmajkaID

SELECT 
mg_golub.ID AS IDgolub, mg_golub.brojgoluba, mg_golub.spol, mg_golub.boja, mg_golub.rasa, mg_golub.ime, mg_golub.godina, mg_status.status
FROM mg_golub
JOIN mg_status ON (mg_status.ID=mg_golub.IDstatus)
JOIN mg_popis_golubova ON (mg_golub.ID=mg_popis_golubova.IDgolub) 
WHERE mg_popis_golubova.IDkorisnik='$ID_KORISNIK' 
4

1 回答 1

2

我想这可能是你正在寻找的。您需要多次加入mg_golub表才能获得所需的结果,这意味着您需要使用表别名。

SELECT 
    mg_golub.ID AS IDgolub, mg_golub.brojgoluba, mg_golub.spol, mg_golub.boja, 
    mg_golub.rasa, mg_golub.ime, mg_golub.godina, mg_status.status, 
    otac.brojgoluba, majka.brojgoluba
FROM mg_golub g
JOIN mg_status s ON (s.ID=g.IDstatus)
JOIN mg_popis_golubova pg ON (g.ID=pg.IDgolub)
JOIN mg_golub otac on (pg.IDotac = otac.ID)
JOIN mg_golub majka on (pg.IDmajka = majka.ID)
WHERE mg_popis_golubova.IDkorisnik='$ID_KORISNIK'

我不熟悉你的表名和列名所用的语言,所以我相信你能想出比我更好的别名。

于 2013-05-23T20:18:57.150 回答