2015-05-20 2 views
1

Это мой первый раз здесь. После долгих часов исследований я не могу найти решение моей (относительно простой) проблемы.SQL: подсчет различных значений из одной таблицы и группы другой

У меня есть 2 таблицы:

В таблице "Продукт" имеет следующие данные:

cod_product/cod_franchise 
    2  /  1 
    2  /  1 
    3  /  3 

В таблице "Item" содержит следующие строки:

id_item / cod_product 
    1  /  1 
    2  /  2 
    3  /  2 

мне нужно определить, сколько раз каждая франшиза появляется (через ее соответствующий cod_product) в таблице «Item».

Поэтому Im работает следующий код SQL:

SELECT P.COD_FRANCHISE, COUNT (I.COD_PRODUCT) AS 'QUANTITY' 
FROM PRODUCT P 
INNER JOIN ITEM I ON P.COD_PRODUCT = I.COD_PRODUCT 
GROUP BY P.COD_FRANCHISE 

Но я с MS Access является "TYPE несовпадения СЛОВА" Сообщение об ошибке.

Может кто-нибудь, пожалуйста, помогите мне?

Бест,

+2

good lord, MS Access ... –

+1

Каковы ваши типы полей? –

+0

Ваш вопрос непонятен. Можете ли вы предоставить образцы данных с ответом, который вы пытаетесь получить? – DCR

ответ

0

Я попробовал ваш запрос (копировать/вставить код), и это работает прекрасно, как она есть.

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

Если вы не знаете, как/не хотите, чтобы изменить типы данных, которые вы можете использовать этот запрос:

ВЫБЕРИТЕ P.COD_FRANCHISE * 1, COUNT (I.COD_PRODUCT) AS [ 'КОЛИЧЕСТВА '] FROM ПРОДУКТ КАК P INNER JOIN ITEM КАК I НА P.COD_PRODUCT * 1 = I.COD_PRODUCT * 1 GROUP BY P.COD_FRANCHISE;

«* 1», помещенный везде, заставит Access изменить тип данных.

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