如何从具有主键和外键的表中获取公共数据

时间:2013-02-12 10:38:48

标签: sql

我有两张桌子

1:pr_insertion77

create table pr_insertion77(pr_title varchar2(20) primarykey,pr_smalltitle varchar2(20),pr_desc varchar2(100),pr_category varchar2(20),
pr_startdate date,pr_enddate date,pr_bidtype number(2),pr_image long raw);

2:selldetails

create table sellerdetails( sellername varchar2(20),biddedproduct varchar2(20),price number(10),CONSTRAINT fk_pr_insertion77
    FOREIGN KEY (biddedproduct)
    REFERENCES pr_insertion77(pr_title)

我希望卖家名称和价格在pr_insertion77.pr_title=sellerdetails.biddedproduct.

2 个答案:

答案 0 :(得分:0)

这看起来不像java-ee,既不是休眠也不是类似的。它看起来像普通的SQL。 因此,指定DBMS的目标是很好的。

您的请求仅与卖方详细信息(价格和卖方名称)相关,并且您指定的条件始终为真,因为它是外键,除了空FK值(除非您要对特定的pr_insertion77进行过滤,但这不是你问的是什么。

查询:

SELECT sellername, price FROM sellerdetails WHERE biddedproduct IS NOT NULL;

答案 1 :(得分:0)

你可以使用JOIN。如果对于pr_insertion77中的任何细节,在sellerdetails中有相应的细节,那么使用INNER JOIN

        SELECT sellerdetails.sellername,sellerdetails.price 
    FROM pr_insertion77 INNER JOIN sellerdetails 
ON pr_insertion77.pr_title=sellerdetails.biddedproduct;