MySQL запрос выбора значений из двух таблиц

0

У меня следующие две таблицы:

Cities: id | name | county_id
Counties: id | name

Я передаю этот запрос имя графства, и я пытаюсь выбрать id и имя всех строк из городов с одним и тем же county_id. У меня возникают трудности с построением запроса через эти две таблицы базы данных. Вот что я имею:

"SELECT cities.id,cities.name
FROM cities,counties
WHERE counties.name='$county' AND cities.county_id=counties.id
ORDER BY cities.name ASC";
  • 4
    Как вышеперечисленное терпит неудачу? Это выглядит хорошо для меня.
  • 0
    Какая у вас ошибка?
Показать ещё 1 комментарий
Теги:
join

3 ответа

2

Если вы работаете в Unix, и если я возьму ваш вопрос буквально, ваша проблема может быть с чувствительностью к регистру.

Имена таблиц чувствительны к регистру в Unix, поэтому, если ваши таблицы называются Counties и Cities, тогда у вас возникнет проблема при использовании Counties и Cities в вашем SQL-запросе.

Тем не менее, ответ на вопрос mysql_error() имеет решающее значение... если ваш код распечатает ошибку и опубликует ее здесь, если вам нужна дополнительная помощь.

1

Предположительно вы используете mysql_query ( "..." ), поэтому сразу же подпишите запрос echo mysql_error(); и посмотрите, не по какой-то причине не работает. Я полагаю, что вы не подключили должным образом в этом случае, и исходный запрос выглядит нормально (хотя и с использованием старого синтаксиса соединения - лучшего синтаксиса, приведенного ниже)...

SELECT ci.id, ci.name
FROM  cities ci
INNER JOIN counties co
ON ci.county_id = co.id
WHERE co.name='$county'
ORDER BY ci.name ASC
1
SELECT cities.id,cities.name
FROM Counties INNER JOIN CITIES 
ON Counties.id = Cities.county_id
WHERE  counties.name='$county'
ORDER BY cities.name ASC;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню