|
|
|
|
|
для: cheops
(24.06.2006 в 12:37)
| | Оба способа работают, спасибо всем. | |
|
|
|
|
|
|
|
для: Хулиган
(24.06.2006 в 12:34)
| | А вы их через запятую указывайте
SELECT DISTINCT DEPARTMENT, второе_поле, третье_поле, четвёртое_поле FROM TABLE1
|
| |
|
|
|
|
|
|
|
для: Хулиган
(24.06.2006 в 12:34)
| | Надо использовать группировку group by
SELECT * FROM TABLE1 GROUP BY department
|
| |
|
|
|
|
|
|
|
для: Хулиган
(24.06.2006 в 00:52)
| | Возник ещё один вопрос с DISTINCT: если делаю так
SELECT DISTINCT DEPARTMENT FROM TABLE1,
то в результате возвращаются только значения поля DEPARTMENT выбраных записей. а как можно получить все поля каждой из этих выбраных записей? Т.е. я получаю одномерый массив, а нужно многомерный. | |
|
|
|
|
|
|
|
для: hell_riser
(24.06.2006 в 03:16)
| | Синтаксическая ошибка: надо было с кавычками:
$sql_cat = "SELECT DISTINCT CAT_NAME FROM TABLE1 WHERE DEPARTMENT = '".$cell[0]."'";
|
Все нормально выбирается. Спасибо. | |
|
|
|
|
|
|
|
для: Хулиган
(24.06.2006 в 02:54)
| | Вообще-то можно, а как выглядит ошибка напишите вместо
<?php
$result_cat = mysql_query ($sql_cat) or die ("category query failed");
?>
|
так:
<?php
$result_cat = mysql_query ($sql_cat);
if(!$result_cat) exit("Ошибка:".mysql_error())
?>
|
| |
|
|
|
|
|
|
|
для: hell_riser
(24.06.2006 в 01:44)
| | Да, это то что надо. Спасибо.
Пытаюсь сделать такой же запрос, но в комбинации с WHERE, чтобы получить категории отдела, но почему-то получаю failed :(
<?
$link = mysql_connect("localhost", "root", "") or die ("Could not connect");
mysql_select_db ("BASE") or die ("Could not select database");
//это первый запрос на список отделов - проходит нормально
$sql_dep = "SELECT DISTINCT DEPARTMENT FROM TABLE1";
$result_dep = mysql_query ($sql_dep) or die ("department query failed");
while ($cell = mysql_fetch_array($result_dep)){ ?>
<TR><TD class=leftnav id=toplight100
style="color: #515151; background-color: #00fff"
onclick="ShowSubmenu('menu_100', 'toplight100')">
<? print htmlspecialchars($cell[0]) ?></TD>
</TR>
//это второй запрос на список категорий данного отдела.
//тут неудача.
<? $sql_cat = "SELECT DISTINCT CAT_NAME FROM TABLE1 WHERE DEPARTMENT = ".$cell[0];
$result_cat = mysql_query ($sql_cat) or die ("category query failed");
$cell = mysql_fetch_array($result_cat);
while ($cell = mysql_fetch_array($result_cat)){ ?>
<TR>
<TD><DIV id=menu_100 style="DISPLAY: none">
<DIV class=submenu id=light101><A
href="http://www.ua6xhy.ru/index.php?category=101" target="_blank">
<? print htmlspecialchars($cell[2]) ?></A></DIV></DIV>
</TD>
</TR>
<? } ?>
<? }
?>
|
Можно ли комбинировать DISTINCT для одного поля с WHERE для другого? Если можно, почему запрос оканчивается неудачно? | |
|
|
|
|
|
|
|
для: Хулиган
(24.06.2006 в 00:52)
| | Если я вас правильно понял то вам поможет ключевое слово DISTINCT которое выбирает только различные значения поля, отбрасывая повторяющиеся.
$sql = 'SELECT DISTINCT category FROM $table';
|
| |
|
|
|
|
|
|
| В базе есть поле category, которое принимает одинаковое значение для нескольких записей. Как составить запрос к базе, так, чтобы получить по одной записи для каждой из category?
Иными словами, получить список существующих категорий. Пока вижу только способ сортировать по этому полю и перебирать все записи, отбирая по одной для каждой вновь встретившейся категории. Но может есть способ лучше?
Спасибо. | |
|
|
|
|