2013-09-11 3 views
0

Я застреваю, пытаясь объединить запрос COUNT в существующий запрос SELECT, который у меня есть.Попытка объединить запрос COUNT с существующим запросом SELECT

В настоящее время я использую этот ЗЕЬЕСТ, чтобы принести некоторую контактную информацию:

SELECT contact.id_contact, contact.cname, contact.cemail, contact.trading_id, trading_name.trading_name 
FROM contact 
INNER JOIN trading_name ON contact.trading_id = trading_name.id_trading_name 
WHERE (CHAR_LENGTH(contact.cname) > 0) 
ORDER BY contact.cname 

У меня также есть этот COUNT запрос, который мне нужно каким-то образом включить в тот же ЗЕЬЕСТ:

SELECT COUNT(AlertID) AS CustomerAlertCountTotal FROM customer_support_dev.customer_alerts WHERE (AlertTradingID = @tradingid) 

В основном мне нужно знать, сколько «AlertID» есть для каждого «торгового_имя», и для того, чтобы это значение возвращалось в «CustomerAlertCountTotal», но используя только один запрос.

(если это имеет значение, я использую базу данных MySQL)

Надежда, что имеет смысл :)

+0

Не могли бы вы показать нам пример ввода и вывода образца? – Josien

ответ

0
SELECT contact.id_contact, contact.cname, contact.cemail, 
contact.trading_id, trading_name.trading_name,CustomerAlertCountTotal 
FROM contact 
INNER JOIN trading_name 
ON contact.trading_id = trading_name.id_trading_name 
LEFT JOIN (SELECT COUNT(AlertID) AS CustomerAlertCountTotal,AlertTradingID 
FROM customer_support_dev.customer_alerts)as count 
on count.AlertTradingID=contact.trading_id 
WHERE (CHAR_LENGTH(contact.cname) > 0) 
ORDER BY contact.cname 
+0

Работает отлично, спасибо большое !!! – Rich

0

Просто моя догадка. Если вы присоединяетесь к столу с контактом и покупателем. Вы можете объединить что-то вроде этого. Пожалуйста, дайте мне знать, если есть необходимость в настройке.

SELECT contact.id_contact, contact.cname, contact.cemail, contact.trading_id, trading_name.trading_name, count(AlertID) 
    FROM contact 
    INNER JOIN trading_name 
    ON contact.trading_id = trading_name.id_trading_name 
    LEFT JOIN customer_alerts 
    ON contact.id = costumer_alerts.contact_id 
    WHERE 
    (CHAR_LENGTH(contact.cname) > 0) AND 
    AlertTradingID = @tradingid 
    GROUP BY contact.id 
    ORDER BY contact.cname 
Смежные вопросы