|
|
|
|
|
для: GeorgeIV
(04.07.2009 в 17:38)
| | Все заработало. Все получилось. Всем спасибо. :) | |
|
|
|
|
|
|
|
для: V1a8xerss87
(04.07.2009 в 17:21)
| | У меня еще вопрос по синтаксису, а на кой вы выбирвете поля, которые не используете: Id_city в первом запросе и id_firm во втором. DISTINCT имеет влияние на всю выборку, т.е на уникальность сочетания полей | |
|
|
|
|
|
|
|
для: V1a8xerss87
(04.07.2009 в 17:21)
| | 1. уберите внутренний запрос - он не нужен. Либо выполните полный вывод результатов из него. А не только первую из строк.
2. расставьте отступы внутри составных операторов.
3. выведите оба поля запроса, а не только второе.
4. не надо писать $r['1'] при обращении к элементу 1. Надо писать $r[1] | |
|
|
|
|
|
|
|
для: Trianon
(04.07.2009 в 17:10)
| | Ну собственно есть таблица с товарами, в которой содержится инфа о товарах и так же, идентификатор фирмы, производящий данный товар из другой таблицы. Я выбираю из таблицы c товарами все записи, где id_city=48, получаю идентификатор фирмы, через который уже из таблицы с фирмами получаю имя фирмы.
Вот сам код:
$query_Goods=mssql_query("SELECT DISTINCT id_city,id_firm FROM Price WHERE id_city=48") or die("error in goods query");
$num_goods=mssql_num_rows($query_Goods);
if(mssql_num_rows($query_Goods)>0)
{
while($Goods=mssql_fetch_row($query_Goods))
{
$q=mssql_query("SELECT id_firm,name FROM Firm WHERE id_firm=".$Goods[1]."");
$r=mssql_fetch_row($q);
echo $r['1']."<br />";
}
}
|
В итоге, без DISTINCT я получаю список имен фирм, но часть имен повторяется. С DISTINCT я получаю только первую запись из таблицы с фирмами. | |
|
|
|
|
|
|
|
для: V1a8xerss87
(04.07.2009 в 17:04)
| | + Можно, но не нужно. Смысла нет.
+ DISTINCT ставится перед перед списком полей в SELECT. Это приводит к тому, что сервер исключает из отчета дубли строк.
+ Можно, но не нужно. Смысла нет.
Проблема,наверное, не [только] в том, как Вы формируете запрос, а в том, как Вы выводите его результат. | |
|
|
|
|
|
|
|
для: Trianon
(04.07.2009 в 16:38)
| | А возможно ли все-таки использовать GROUP BY?
+ Какой синтаксис использование DISTINCT?
+ Возможно ли как то силами php без SQL выводить только одно значение? | |
|
|
|
|
|
|
|
для: V1a8xerss87
(04.07.2009 в 16:33)
| | >DISTINCT не помогает совсем: выводит только 1 запись из БД.
Эт врядли.
В смысле, если у Вас там есть хотя бы две записи с разными полями, то дело не в DISTINCT. | |
|
|
|
|
|
|
|
для: Trianon
(04.07.2009 в 15:54)
| | Задумывались и уже давноооо :-D ))))) Не мы эту таблицу придумали, но приходитсО с ней работать :(
Проблема не решена. DISTINCT не помогает совсем: выводит только 1 запись из БД. | |
|
|
|
|
|
|
|
для: GeorgeIV
(04.07.2009 в 15:47)
| | >GROUP BY применяется при использовании агрегирующих функций в запросе
Замечание верное, но адресовать имет смысл персонажу "Ильдар". | |
|
|
|
|
|
|
|
для: V1a8xerss87
(04.07.2009 в 12:45)
| | Вообще-то если в таблице Firm ни поле id_firm, ни поле name не является уникальным, это повод задуматься "а может ну её нахрен такую таблицу..." | |
|
|
|
|