2013-05-07 3 views
1

У меня есть таблица под названием Клиенты. У клиентов есть id и имя и адрес адрес.Добавить запросы как отдельные объекты

У меня есть таблица под названием Заказы. Заказы имеют id, a customerId и a количество.

Я должен реализовать функцию, которая возвращает что-то вроде следующего:

[{ 
    id: 123, 
    name: "Jane Doe", 
    address: "123 Fake Street", 
    orders: [ 
     { 
      id: 8, 
      customerId: 123, 
      quantity: 2 
     }, 
     { 
      id: 456, 
      customerId: 123, 
      quantity: 100 
     } 
    ] 
}] 

Я использую MySQL 5.6.11, и я подозреваю, что это основной SQL вопрос. Это ПРИСОЕДИНЯЙТЕСЬ? СОЮЗ?

ответ

2

Это будет присоединиться между вашими клиентами и таблицами заказов. Если вы хотите, чтобы клиенты имели заказы, вы будете использовать внутреннее соединение. Если вы хотите, чтобы клиенты независимо от того, имеют ли они заказы или нет, используйте внешнее соединение.

Пример Inner Регистрация:

SELECT Customers.Name, Customers.Address, Orders.Quantity 
FROM 
Customers 
INNER JOIN 
Orders 
ON Customers.Id = Orders.CustomerId 

Пример Left Outer Регистрация:

SELECT Customers.Name, Customers.Address, Orders.Quantity 
FROM 
Customers 
LEFT JOIN 
Orders 
ON Customers.Id = Orders.CustomerId 
0
select c.id,c.name,c.address,o.id,o.quantity 
from customer c, orders o 
where o.customerId = c.id; 

это вернет;

123, Джейн Доу, 123 Поддельный Street, 8,8 123, Джейн Доу, 123 Поддельный Street, 456.100

вытащить данные, которые вы хотите от этого.

Смежные вопросы