简体   繁体   English

sql joins 需要进一步的帮助

[英]sql joins needed help further

I am stuck on a query where I want to display data from different tables and their bridge tables.我被困在一个查询上,我想在其中显示来自不同表及其桥表的数据。
The tables are:这些表是:

bridge (bid,planid,fbridgeid)
fbridge (fbridgeid,featureid,valueid)
features (featureid,fname)
value (valueid,value)
plans (planid,name,price,discount)

Below is my query so far:以下是我到目前为止的查询:

SELECT 
(NAME AS pname, price AS prize,
 discount AS ds, fname AS feature, VALUE AS vlue 
FROM plans  )

I want to get all the columns from database , but according to the plans我想从数据库中获取所有列,但根据计划

like planid 1 ->> contains ->> feature id 1,2,3 and valueid 1,3,5 etc )

The Join s will be: Join将是:

SELECT pl.name AS pname, pl.price AS prize , pl.discount AS ds , fe.fname AS feature, va.VALUE AS vlue
FROM plans pl
JOIN bridge br ON br.planid = pl.planid
JOIN fbridge fb ON fb.fbridgeid = br.fbridgeid
JOIN features fe ON fe.featureid = fb.featureid
JOIN value va ON va.valueid = fb.valueid
WHERE pl.plainid = 1

Join your tables on their correct fields.在正确的字段上加入您的表格。

SELECT *
FROM plans p
INNER JOIN bridge b ON p.planid = b.planid
INNER JOIN fbridge fb ON b.fbridgeid = fb.fbridgeid
INNER JOIN features f ON fb.featureid = f.featureid
INNER JOIN value v ON fb.valueid = v.valueid

Then you can select any fields from them all.然后您可以从所有字段中选择任何字段。

SELECT p.name AS pname, p.price AS prize, p.discount AS ds, f.fname AS feature, v.value AS vlue
FROM plans p
INNER JOIN bridge b ON p.planid = b.planid
INNER JOIN fbridge fb ON b.fbridgeid = fb.fbridgeid
INNER JOIN features f ON fb.featureid = f.featureid
INNER JOIN value v ON fb.valueid = v.valueid
select b.bid,b.planid,b.fbridgeid,fb.fbridgeid,f.featureid,f.fname,v.valueid,v.value,p.name,p.price,p.discount from bridge as b 
inner join fbridge as fb on fb.bridgeid=b.bridgeid 
inner join features as f on f.featureId=fb.featureid 
inner join value as v on v.valueid=fb.valueid 
inner join plans as p on p.planid=b.planid 
where p.planid=1 and f.featureId in (1,2,3) and v.valueid in (1,3,5)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM