|
|
|
| Добрый день.
Есть такой запрос, проблем в том как вывести результат?
$s = mysql_query("select T1.name, T1.id_group, T2.id, T2.name from users as T1, groups as T2 where T1.id_group=T2.id");
while($r = mysql_fetch_array($s))
{
echo $r['name']."<br>";
}
|
Как видно в обеих таблицах есть поле name, а при выводе $r['name'], выводится значение из таблицы Т2, какие здесь правила выборки, подскажите. | |
|
|
|
|
|
|
|
для: MAN|AK
(19.01.2007 в 00:18)
| | попробуйте так:
$s = mysql_query("select T1.name as names, T1.id_group, T2.id, T2.name from users as T1, groups as T2 where T1.id_group=T2.id");
while($r = mysql_fetch_array($s))
{
echo $r['names']."<br>";
} | |
|
|
|
|
|
|
|
для: dert
(19.01.2007 в 10:47)
| | Спасибо, всё работает. =) | |
|
|
|
|
|
|
|
для: dert
(19.01.2007 в 10:47)
| | dert, а подскажите как поступить в моем случае?
Аналогичная ситуация, только не перечисляются какие то конкретные поля, а выбираются значения всех столбцов:
<?
$query = mysql_query("SELECT * FROM board as A, board_cat as B WHERE A.id_category = B.id AND A.id_category = ". $_GET['id_cat']." ORDER by autor ASC LIMIT $start, $COUNT_SHOW_BOARD");
while($var = mysql_fetch_array($query))
{
echo $var['name_cat'];
}
?>
|
Вопрос: возможно ли "поиметь" допустим поле "id" первой таблицы (board), не расписывая и присваивая "псевдонимы" всем полям?
Спасибо... | |
|
|
|
|
|
|
|
для: provodnik
(28.01.2007 в 18:14)
| | Поля id у Вас нету. Поле id_category присутствует сразу в двух таблицах.
Уточнять придется.
Вернее, есть один вариант, при котором уточнение не требуется, но он зависит от версии MySQL и я его приводить не буду.
А почему Вас не устраивает указать нужное поле явно? | |
|
|
|
|
|
|
|
для: Trianon
(28.01.2007 в 18:24)
| | Ситуация такова: я выбираю всё ( * ), что есть в обоих таблицах,
с некоторым условием:
<?
WHERE A.id_category = B.id
AND A.id_category = ". $_GET['id_cat']."
ORDER by autor ASC
LIMIT $start, $COUNT_SHOW_BOARD");
?>
|
И теперь мне понадобилось поле "id" из первой таблицы.
Я могу конечно присвоить этому полю id псевдоним (A.id as board_id). Но не придется ли мне после этого присваивания явно перечислять все остальные поля, которые я выбираю?
Вот я наваял примерный код, который будет работать и отдаст мне поле "id" из первой таблицы по псевдониму board_id, но мне бы не хотелось такую "телегу" писать:
<?
$query = mysql_query ("SELECT A.id as board_id,
A.id_category,
A.autor,
A.title,
A.email,
A.address,
A.phone,
A.text,
A.hits,
A.select,
A.checkbox_top,
A.time,
A.time_delete,
A.pass_delete,
A.last_edit,
B.id,
B.root_category,
B.name_cat,
B.url_name,
B.description,
B.img,
FROM board as A,
board_cat as B
WHERE A.id_category = B.id
AND A.id_category = ". $_GET['id_cat']."
ORDER by autor ASC
LIMIT $start, $COUNT_SHOW_BOARD");
?>
|
Вот отсюда и вопрос: Возможно ли как то вытащить это поле id, без перечисления всех полей, а обойтись только присваиванием ей псевдонима A.id as board_id, а выбор остальных полей сделать звездочкой?
Спасибо... | |
|
|
|
|
|
|
|
для: provodnik
(28.01.2007 в 18:52)
| | В принципе, можно попробовать что-то вроде
SELECT A.id as board_id, A.*, B.* FROM ...
|
| |
|
|
|
|
|
|
|
для: Trianon
(28.01.2007 в 19:00)
| | Спасибо, именно то, что нужно... | |
|
|
|