私は2つのテーブルを持っています1)国コード:
2) cctonumbers :
問題
以下のようにクエリを実行すると:
SELECT *
FROM CCTONUMBERS
LEFT JOIN COUNTRYCODES AS CC
ON CCTONUMBERS.COUNTRYCODE_ID = CC.ID
WHERE ( CC.PARENTID = 0
AND NUMBER LIKE "93%" )
OR ( CC.PARENTID != 0
AND NUMBER LIKE "7%"
AND CC.PARENTID IN (SELECT CC.ID
FROM CCTONUMBERS
LEFT JOIN COUNTRYCODES AS CC
ON
CCTONUMBERS.COUNTRYCODE_ID = CC.ID
WHERE CC.PARENTID = 0
AND NUMBER LIKE "93%") )
ORDER BY CCTONUMBERS.NUMBER ASC
LIMIT 0, 20
私が得る結果は以下の通りです
私が探している結果は、ダイヤル コードで 7 を検索すると、7 で始まるダイヤル コード (cctonumbers の番号列を参照してください) のみを取得する必要がありますが、ダイヤル コード列に「93」が表示されます。スクリーンショットにもありますが、これは正しくありません。
上記のSQLクエリに問題がある場合はお知らせください。テーブルの詳細については、上記のテーブルのスクリーンショットを参照してください。