|
| |
автор: Швейк (10.03.2005 в 09:25) |
|
| |
для: cheops
(09.03.2005 в 22:45)
| | | Ага, то есть COUNT "срабатывает" по основной таблице, в моем случае - users, верно?
А не подскажите ответ не мой вторй вопрос, он дан в моем предыдущем сообщении - тот же SQL-запрос
По этому запросу будет выведен список, в котором параметр sexID будет равен единице.
А мне потребуется, что бы был поиск по критерию sexID=1 ИЛИ sexID=2, т.е. или 1 или 2.
Занимался комбинаторикой типа
WHERE applicants.sexID='1'
AND applicants.sexID='2'
|
WHERE applicants.sexID=(1 OR 2)
|
и так далее, но увы....
Может ли MySQL такое в принципе?
С уважением,
Бравый Солдат. | |
| |
|
|
| |
|
|
| |
для: Швейк
(09.03.2005 в 16:36)
| | | При многотабличном запросе вы не можете использовать *, так как это неоднозначно, но
SELECT
COUNT(users.userID)
FROM users, vacancy, salary
WHERE applicants.sexID='1'
AND users.vacancyID = vacancy.vacancyID
AND users.salaryID = salary.salaryID
|
вполне допустимо - так можно узнать число строк, которые возвращены СУБД по запросу. | |
| |
|
|
| |
автор: Швейк (09.03.2005 в 19:18) |
|
| |
для: Axxil
(09.03.2005 в 17:51)
| | | Ага, ясненько.
Вы абсолютно правы - я о такой функции даже и не не знал.
Можно еще вопрос - тоже по SELECT, но с небольшим отклонением?
есть вот такой код :
SELECT
applicants.userID AS 'UserID',
applicants.name AS 'Name',
applicants.sexID AS 'Sex',
FROM users
WHERE applicants.sexID='1'
|
По этому запросу будет выведен список, в котором параметр sexID будет равен единице.
А мне потребуется, что бы был поиск по критерию sexID=1ИЛИ sexID=2, т.е. или 1 или 2.
Простое решение добавить в код строку
вызвал непредсказуемый эффект.
Может ли MySQL такое в принципе?
С уважением,
Бравый Солдат. | |
| |
|
|
| |
|
|
| |
для: Швейк
(09.03.2005 в 17:38)
| | | у меня идёт обращение к полям таблиц через идентификаторы.
Каждой таблице присваивается свой t1,t2,t3... и потом вместо того чтобы каждый раз указывать имя таблицы user.id можно просто обратиться как t1.id. Так получается намного нагдянее да и код меньше | |
| |
|
|
| |
автор: Швейк (09.03.2005 в 17:38) |
|
| |
для: Axxil
(09.03.2005 в 16:57)
| | | Извините, не совсем уловил разницу между моим и Вашим SQL-запросами.
А за mysql_num_rows - огромное спасибо!
С уважением,
Бравый Солдат. | |
| |
|
|
| |
|
|
| |
для: Швейк
(09.03.2005 в 16:36)
| | | За это отвечает php функция mysql_num_rows например
<?
$sql="SELECT * FROM table";
$query=mysql_query($sql);
$num=mysql_num_rows($query);
?>
|
эта функция считает кол-во записей в результате запроса
кстати по-моему намного удобнее использовать такой синтаксис запроса:
SELECT
t1.userID AS 'UserID',
t1.name AS 'Name',
t1.sexID AS 'Sex',
t2.description AS 'Vacancy',
t3.description AS 'Salary',
FROM users t1, vacancy t2, salary t3
WHERE applicants.sexID='1'
AND t1.vacancyID = t2.vacancyID
AND t1.salaryID = t3.salaryID
|
| |
| |
|
|
| |
автор: Швейк (09.03.2005 в 16:36) |
|
| | Данная функция по сути дела является счетчиком записей в таблице.
Вопрос:
А можно ли посчитать количесвто записей в SQL-запросе?
Поясню ситуацию:
Используя код
SELECT COUNT (*) FROM users
|
можно узнать количество записей в таблице users
А если SQL-запрос вот такой:
[
SELECT
users.userID AS 'UserID',
users.name AS 'Name',
users.sexID AS 'Sex',
vacancy.description AS 'Vacancy',
salary.description AS 'Salary',
FROM users, vacancy, salary
WHERE applicants.sexID='1'
AND users.vacancyID = vacancy.vacancyID
AND users.salaryID = salary.salaryID
|
то есть запрос обращается уже не к одной таблице, а к трем и иаже содержит в себе критерии отброра.
Как узнать, сколько записей находится в запросе, при условии, что выводить записи на экран в данном случае крайне нежелательно?
Заранее благодарю.
С уважением,
Бравый Солдат. | |
| |
|
|
|