2

私はこれを理解するのに少し問題があります。まとめる必要のあるクエリが2つあり、何を試しても、常にmysql構文でエラーが発生します。2つのクエリは以下のとおりです。

クエリ1-これはカナダの郵便番号用です

SELECT ta.city, ta.email_address, ta.country_code, COUNT(*)
FROM jos_form_submitteddata_form1 tb
JOIN jos_postalzip_redirect ta ON UPPER(LEFT(tb.FIELD_24, 3)) = LEFT(ta.postal_zip, 3)
WHERE LENGTH(tb.FIELD_24) > 5
GROUP BY ta.city;  

クエリ2-これは米国の郵便番号の場合

SELECT ta.city, ta.email_address, ta.country_code, COUNT(*)
FROM jos_form_submitteddata_form1 tb
JOIN jos_postalzip_redirect ta ON UPPER(tb.FIELD_24) = LEFT(ta.postal_zip, 5)
WHERE LENGTH(tb.FIELD_24) <= 5
GROUP BY ta.city
HAVING ta.country_code = 'US';

目標は、これらのクエリの両方を同じテーブルに正しいカウントで表示することです。

4

2 に答える 2

0

UNIONはあなたが必要とすることをしませんか?

SELECT ta.city, ta.email_address, ta.country_code, COUNT(*) 
FROM jos_form_submitteddata_form1 tb 
JOIN jos_postalzip_redirect ta ON UPPER(LEFT(tb.FIELD_24, 3)) = LEFT(ta.postal_zip, 3)
WHERE LENGTH(tb.FIELD_24) > 5 GROUP BY ta.city
UNION
SELECT ta.city, ta.email_address, ta.country_code, COUNT(*) 
FROM jos_form_submitteddata_form1 tb 
JOIN jos_postalzip_redirect ta ON UPPER(tb.FIELD_24) = LEFT(ta.postal_zip, 5) 
WHERE LENGTH(tb.FIELD_24) <= 5 AND ta.country_code = 'US' GROUP BY ta.city
于 2011-07-08T17:49:15.003 に答える
0

UNIONステートメントを使用してみてください。

http://dev.mysql.com/doc/refman/5.0/en/union.html

于 2011-07-08T17:50:13.917 に答える