Mysql заявка от 2 таблици

NewGuy

Registered
Здравейте. Искам да направя нещо подобно на това но как да го напиша правилно?

select * FROM stat,info WHERE stat.stats='1' and stat.count(*)>info.maxonline
 
Поне запазените думи в SQL ги пишете с главни букви :X

[sql]
SELECT COUNT(s.*) AS `count`
FROM stat s, info i
WHERE s.stats = '1' AND s.count > i.maxonline
[/sql]
 
Дава грешка.

Error code 1064, SQL state 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*)

Как се използва това S и I? Явно аз нещо бъркам.
 
Предположих, че ще даде грешка.

[sql]
SELECT COUNT(*) AS `count`
FROM stat s, info i
WHERE s.stats = '1' AND s.count > i.maxonline
[/sql]

Направи я така.

А това, за което питаш, се нарича алиаси.
 
Хмм пак дава грешка но по-напред.

Error code 1054, SQL state 42S22: Unknown column 's.count' in 'where clause'

Пробвах да го сложа в ` ` но пак така. Пробвах да сменя и count с cnt пак така.
 
Добре, тогава махни алиаса от count.

Т.е. да стане от s.count само count и опитай, дали ще ти вади правилно.

EDIT: Ако не пробвай и така

[sql]
SELECT *, (SELECT COUNT(*) FROM stat WHERE stats = '1') AS `count`
FROM info
WHERE count > maxonline
[/sql]
 
Идеята е да върши действие, което по принцип трябва да извърша с 2 заявки.

Искам да преброя всичката статистика, която е активна и да проверя дали е по-голяма от сегашната статистика. Ако е ще имам UPDATE. Това е цялата идея но е важно да стане само с заявка нищо друго не ми върши работа.
 
[sql]
SELECT *
FROM stat s, info i
WHERE s.stats = '1' AND (SELECT COUNT(*) FROM stat) > i.maxonline
[/sql]

или

[sql]
SELECT *
FROM stat s, info i
WHERE (SELECT COUNT(*) FROM stat WHERE `stats` = '1') > i.maxonline
[/sql]

?
 

Back
Горе