PHP, MYSQL - объединение двух таблиц, где в одной таблице несколько записей первичного ключа

Я получил 2 таблицы, которые я хочу выбрать через mysql_query в php.

  • Таблица 1

столбцы: specialID, имя, информация, начало, созданный, byUser, ziparea

  • Таблица 2

столбцы: ID, ziparea, cusID, заголовок, контакт, почта

$result = mysql_query("SELECT * FROM table1 JOIN table2 ON table1.ziparea = table2.ziparea WHERE table1.specialID='".$_REQUEST["specialID"]."'");
while($var = mysql_fetch_array($result)) {
}

Таблица 1 содержит ровно 1 запись для каждой ziparea от 01 до 99. Таблица 2 содержит несколько записей для zipareas.

Проблема, которая кажется, заключается в том, что результат выглядит примерно так:

  • таблица1-данные --- данные1 ---- данные1 --- данные1
  • ziparea -------- 24 -------- 24 -------- 24
  • таблица2-данные --- данные1 ---- данные2 --- данные3

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

<?php echo utf8_encode($var["Name"]); ?>

он должен дать только 1 данные... теперь он поставляется с 3 копиями тех данных, которые мне нужны.

Как я могу решить эту проблему?

1 ответ

Попробуйте добавить в GROUP BY в ваш SQL-запрос, такой:

$result = mysql_query("SELECT table1.Name FROM table1 JOIN table2 ON table1.ziparea = table2.ziparea WHERE table1.specialID='".$_REQUEST["specialID"]."' GROUP BY table1.Name");
Другие вопросы по тегам