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");