Re: Can I do this smarter?
От | Aaron Bono |
---|---|
Тема | Re: Can I do this smarter? |
Дата | |
Msg-id | bf05e51c0607132052l6b95d5b1m67d5620e80e7491e@mail.gmail.com обсуждение исходный текст |
Ответ на | Can I do this smarter? (Joost Kraaijeveld <J.Kraaijeveld@Askesis.nl>) |
Ответы |
Re: Can I do this smarter?
Re: Can I do this smarter? |
Список | pgsql-sql |
On 7/13/06, Joost Kraaijeveld <J.Kraaijeveld@askesis.nl> wrote:
SELECT
invoices.objectid,
invoices.invoicenumber,
invoices.invoicedate,
salesorders.customer,
customers.customernumber,
customers.lastname
FROM invoices
INNER JOIN salesorders ON (
salesorders.objectid = invoices.salesorderobjectid
)
INNER JOIN customers ON (
customers.objectid = salesorder.customer
)
You should do INNER and OUTER joins for connecting the tables by their foreign keys.
==================================================================
Aaron Bono
Aranya Software Technologies, Inc.
http://www.aranya.com
==================================================================
I have three tables: customers, salesorders and invoices. Customers have
salesorders and salesorders have invoices ( child tables have foreign
key columns to their parent).
I want to get a list of all invoices with their customers. This what I
came up with:
select
invoices.objectid,
invoices.invoicenumber,
invoices.invoicedate,
(select customer from salesorders where objectid = invoices.salesorderobjectid),
(select customernumber from customers where objectid = (select customer from salesorders where objectid = invoices.salesorderobjectid)),
(select lastname from customers where objectid = (select customer from salesorders where objectid = invoices.salesorderobjectid))
from invoices
Can I do this smarter as the three subselects select the same customer three times and I would think that 1 time is enough?
invoices.objectid,
invoices.invoicenumber,
invoices.invoicedate,
salesorders.customer,
customers.customernumber,
customers.lastname
FROM invoices
INNER JOIN salesorders ON (
salesorders.objectid = invoices.salesorderobjectid
)
INNER JOIN customers ON (
customers.objectid = salesorder.customer
)
You should do INNER and OUTER joins for connecting the tables by their foreign keys.
==================================================================
Aaron Bono
Aranya Software Technologies, Inc.
http://www.aranya.com
==================================================================
В списке pgsql-sql по дате отправления: