Вы не можете SELECT DISTINCT
, но другим может быть полезно. Для вас ответ на вопрос Редактировать.
Ключевое слово DISTINCT
содержит уникальные строки. Чтобы узнать больше об этом, читайте это: http://www.w3schools.com/sql/sql_distinct.asp.
EDIT:
Теперь я вижу проблему, я не заметил, что цифры не соответствуют ранее. Ключевое слово DISTINCT
в этом случае не поможет. JOIN
соединяет таблицу Shirt_Mes
, но есть две записи, что означает, что она создаст две строки. Следующий JOIN
объединяет таблицу Pant_Mes
и условие также выбирает две записи из этой таблицы. Каждая строка из ранее расширена для этих двух записей. В этом случае он производит 2 x 2 строки.
Я думаю, это плохая схема таблиц. Вы можете сделать два запроса и объединить результаты в логике приложения:
SELECT
CustBillPayment.CustomerId,
CustBillPayment.Customer_Name,
CustBillPayment.CustBill_Total,
CustBillPayment.CustBill_Paid,
CustBillPayment.CustBill_ReamingAmt,
CustBillPayment.Created_Date,
CustBillPayment.Delivery_Date,
CustBillPayment.Updated_Date,
Shirt_Mes.Shirt_Type,
Shirt_Mes.Shirt_Qty,
Shirt_Mes.Shirt_Price,
Shirt_Mes.Shirt_Total
FROM
CustBillPayment
JOIN Shirt_Mes ON CustBillPayment.CustomerId = Shirt_Mes.CustomerId
WHERE
CustBillPayment.CustomerId=17
и
SELECT
CustBillPayment.CustomerId,
CustBillPayment.Customer_Name,
CustBillPayment.CustBill_Total,
CustBillPayment.CustBill_Paid,
CustBillPayment.CustBill_ReamingAmt,
CustBillPayment.Created_Date,
CustBillPayment.Delivery_Date,
CustBillPayment.Updated_Date,
Pant_Mes.Pant_Type,
Pant_Mes.Pant_QTY,
Pant_Mes.Pant_Total,
Pant_Mes.Pant_Price
FROM
CustBillPayment
JOIN Pant_Mes ON CustBillPayment.CustomerId = Pant_Mes.CustomerId
WHERE
CustBillPayment.CustomerId=17
Или вы можете поместить все товары в одной таблице (я предполагаю, что для интернет-магазина или что-то подобное). Лучше бы изменить схему таблицы, но если у вас есть действительно хорошая причина, почему для хранения товаров в отдельных таблицах (и типа товара не хорошая причина), вы можете сделать этот запрос:
SELECT
CustBillPayment.CustomerId,
CustBillPayment.Customer_Name,
CustBillPayment.CustBill_Total,
CustBillPayment.CustBill_Paid,
CustBillPayment.CustBill_ReamingAmt,
CustBillPayment.Created_Date,
CustBillPayment.Delivery_Date,
CustBillPayment.Updated_Date,
Goods_Mes.Type,
Goods_Mes.Qty,
Goods_Mes.Price,
Goods_Mes.Total
FROM
CustBillPayment
JOIN (SELECT Shirt_Mes.Shirt_Type AS Type,
Shirt_Mes.Shirt_Qty AS Qty,
Shirt_Mes.Shirt_Price AS Price,
Shirt_Mes.Shirt_Total AS Total,
Shirt_Mes.CustomerId FROM Shirt_Mes
UNION
SELECT Pant_Mes.Pant_Type AS Type,
Pant_Mes.Pant_Qty AS Qty,
Pant_Mes.Pant_Price AS Price,
Pant_Mes.Pant_Total AS Total,
Pant_Mes.CustomerId FROM Pant_Mes
) Goods_Mes ON CustBillPayment.CustomerId = Goods_Mes.CustomerId
WHERE
CustBillPayment.CustomerId=17
Чтобы сделать запрос лучше , вы можете удалить Shirt_Total
и Pant_Total
и заменить Goods_Mes.Total
на Goods_Mes.Qty * Goods_Mes.Price
.
Добавить группу и выбрать нужные поля: ** выберите [yourfileds] из группы (ваш исходный запрос) [yourfields] ** – Badiparmagi
Вы пытались добавить 'Select Distinct' и' Group By' к этому запрос?Столбец SType кажется хорошим столбцом для группировки – Misiakw