|
автор: Слава (23.10.2005 в 19:21) |
|
| Помогите пожалуйста.Задача стоит получить массив,содержащий значения всех строк одного поля таблицы, затем, открыть другую таблицу и сделать по аналогии с первой таблицей.
В итоге нужно сравнить содержимое массивов(текстовые строки) и оставить лишь уникальные,т.е. значения, которые не содержатся во второй таблице. | |
|
|
|
|
|
|
|
для: Слава
(23.10.2005 в 19:21)
| | Вот так можно получить массив($arr1) с содержанием одноименных полей из всех строк
$query = "SELECT name_field FROM table;";
$reource = mysql_query($query);
while($arr = mysql_fetch_array($resource))
{
$arr1[]=$arr['name'];
}
|
| |
|
|
|
|
автор: Слава (23.10.2005 в 20:02) |
|
|
для: PantiL
(23.10.2005 в 19:57)
| | мне это известно, см. условие задачи | |
|
|
|
|
|
|
|
для: Слава
(23.10.2005 в 20:02)
| | Если речь идет о таблицах sql, то можно попробовать запросы с левыми сравнениями. Я ими пользоваться так и не научился, но вроде как это как раз то, что вам нужно:) | |
|
|
|
|
|
|
|
для: Слава
(23.10.2005 в 19:21)
| | Это нужно сделать средствами PHP или в виде запроса MySQL? Такую задачу можно решить при помощи левого объединения. Приведите пожалуйста структуру ваших таблиц?
PS Вопросы, посвящённые MySQL, лучше сразу задавать в разделе MySQL | |
|
|
|
|
автор: Слава (23.10.2005 в 20:16) |
|
|
для: cheops
(23.10.2005 в 20:09)
| | ок.
Вот схема данных в аксессе | |
|
|
|
|
автор: Слава (23.10.2005 в 20:18) |
|
|
для: cheops
(23.10.2005 в 20:09)
| | средствами php
также закачал дамп своей бд | |
|
|
|
|
автор: Слава (23.10.2005 в 20:24) |
|
|
для: Слава
(23.10.2005 в 20:18)
| | нужно сформировать запрос,который показывает номера авто,которые не прошли техосмотр.
Для этого надо открыть таблицу auto_information и считать с поля auto_num номера в массив,затем тоже самое с таблицей checkup и выбрать уникальные | |
|
|
|
|
|
|
|
для: Слава
(23.10.2005 в 20:24)
| | А вообще-то чёрта с два мы через LEFT JOIN получим эти значения, я сначала не заметил фразу "которые не должны входить во вторую таблицу". Я гляжу у вас MySQL версии выше 4.1, может вам подойдёт запрос с вложенным запросом?
SELECT auto_num
FROM auto_information
WHERE auto_num NOT IN (SELECT auto_num FROM checkup GROUP BY auto_num)
GROUP BY auto_num
|
| |
|
|
|
|
автор: Слава (23.10.2005 в 21:29) |
|
|
для: cheops
(23.10.2005 в 20:42)
| | спасибо большое за помощь, завтра опробую.
и еще один вопрос: а как же целостность бд, как ее не нарушить в бд mysql? | |
|
|
|
|
|
|
|
для: Слава
(23.10.2005 в 21:29)
| | Нужно больше подробностей - какие предпосылки для её нарушения? Что за база, как заполняется, как удаляются записи, сколько народу и т.п. Иногда можно обойтись просто внешним кодом, иногда без транзакций и внешних ключей не обойтись (но последнее отсутвует в MyISAM, самой быстрой таблице и необходимо использовать тип InnoDB или BDB). | |
|
|
|
|
автор: Слава (05.11.2005 в 14:44) |
|
|
для: cheops
(24.10.2005 в 13:26)
| | большое спасибо за ответ, все получилось | |
|
|
|