Jump to content
  • 0

сложность при построении select требуется помощь


bgraf
 Share

Question

Добрый день дорогие форумчане !

Сталкнулся с проблемой и мне не хватает опыта для ее решения в форме которую я ниже опишу .

Огромная прозьба , не воспринимайте это как будто я решил на халяву что то тиснуть у вас просто дело принципа написать селект именно так и никак иначе , зарания огромное спасибо всем .

База данных MySQL

существует 4 таблицы

1)Таблица зарегестрированных TB_USER

id int(6)

nick varchar(30) utf8_general_ci

password varchar(50) utf8_general_ci

email varchar(50) utf8_general_ci

uniq_id varchar(50) utf8_general_ci

status int(1)

last_date datetime

date datetime

f_name varchar(50) utf8_general_ci

l_name varchar(50) utf8_general_ci

bithday date

telephone varchar(10) utf8_general_ci

cel_telephone varchar(11) utf8_general_ci

city varchar(50) utf8_general_ci

adress varchar(100) utf8_general_ci

grands varchar(5) utf8_general_ci

2)Таблица форумов TB_FORUM

id int(11)

name varchar(255) utf8_general_ci

date_create bigint(20)

3)Таблица тем форумов TB_THEME

id int(11)

id_forum int(11)

th_name varchar(255) utf8_general_ci

date_create bigint(20)

user_id int(11)

lock_th int(1)

4)Таблица сообщений TB_MESSAGE

id int(11)

id_forum int(11)

id_theme int(11)

user_id int(11)

date_create bigint(20)

message_text text utf8_general_ci

Связь между таблицами

TB_FORUM.id = TB_THEME.id_forum : TB_FORUM.id = TB_MESSAGE.id_forum

TB_THEME.id = TB_MESSAGE.id_theme

TB_THEME.user_id = TB_USER.id

TB_MESSAGE = TB_USER.id

Ну а теперь вопрос над которым я бьюсь .

Я хочу сделать один сложный седект который принесет мне сдедующие данные

id форума , name форума , date_create форума , общее колличество тем относительно id форума , общее колличество сообщений относительно id форума , последнее сообщение относительно id форума (MAX по date_create темы), f_name и l_name создавшего последнюю тему

Вот как мне сделать все это одним селектом используя вложенный селект

Ребята всем очень благодарен за будущие предложения и идеи

Но хотелось бы решить это без многочисленных селектов и без приминения в таблице форумов полей содержащих все выше перечисленное кроме соответственно полей уже существующих в этой таблице

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0
Проблема такая:

НЕ РАБОТАЕТ

"SELECT COUNT(*) as total FROM table"

В инете ничего не нашел по проблемам с count. У всех все работает. Необходимо детальная инфа про count.

можно так:

$query="select count(*) from table where i=2"; 
$res=mysql_query($query);
if(mysql_num_rows($res)>0){
$Count=mysql_fetch_row($res);
echo"Count of elements is ".$Count[0]."
";
//.........................
}

и вот так:

$query="select count(*) as CountNumber from table where i=2"; 
$res=mysql_query($query);
if(mysql_num_rows($res)>0){
$Count=mysql_fetch_array($res);
echo"Count of elements is ".$Count["CountNumber"]."
";
//.........................
}

и еще вот так:

$result2=mysql_query("SELECT * FROM table WHERE i=2"); 
$amount2=mysql_num_rows($result2);

bgraf

Вам скорее всего поможет left join

Edited by rus
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy