|
|
|
| Подскажите пожалуйста, это мне нужно для того, чтобы понять и чтобы применить
$q="SELECT * FROM tbl1, tbl2 WHERE tbl1.id=tbl2.id_tbl_1";
$q=mysql_query($q);
Как вывести результат такого запроса и если объединеных таблиц было 3 или больше?
Так не получается, а как нужно?
<?
$q="SELECT * FROM tbl1, tbl2 WHERE tbl1.id=tbl2.id_tbl_1";
$q=mysql_query($q);
$q_num=mysql_num_rows($q); echo $q_num;echo "<br>";
if($q)
{
while($l=mysql_fetch_array($q));
{
?>
<?=$l['tbl2.content2']?>
<?
}
}
?> | |
|
|
|
|
|
|
|
для: vquery
(25.09.2007 в 00:42)
| | Хм... следует обращаться именно так, как вы написали - через расширенное имя. | |
|
|
|
|
|
|
|
для: vquery
(25.09.2007 в 00:42)
| | писать SELECT * в многотабличном запросе бесполезно.
Следует выписывать требуемые уточненные поля, указывая при необходимости синонимы.
SELECT tbl1.id as id1, tbl2.id as id2 FROM tbl1, tbl2 WHERE tbl1.id=tbl2.id_tbl_1
|
Сама постановка вопроса как сделать, чтобы без AS - неуместна.
Делать следует именно с AS.
В принципе можно уточнять звездочку именами таблиц
SELECT tbl1.*, tbl2.* FROM ....
и ловить столбик результата не по имени, а по номеру. Но способ этот ненадежный и непереносимый.
Имена таблиц в ключах результирующего набора данных не появятся в любом случае. | |
|
|
|