Что не так с этим предложением WHERE? - PullRequest
0 голосов
/ 22 октября 2009

Есть ли причина, по которой этот запрос не работает? Следующий запрос будет работать, если я просто исключу предложение WHERE. Мне нужно знать, что с этим не так. Я знаю, что указанные значения $ key существуют в таблице, так почему это не работает?

$q =   "SELECT * WHERE t1.project=$key
            FROM project_technologies AS t1
            JOIN languages AS t2
            ON t1.language = t2.key";

Таблицы имеют следующие поля:

project_technologies
- ключ
- проект
- язык

языки
- ключ
- имя

Ответы [ 10 ]

6 голосов
/ 22 октября 2009
SELECT * FROM project_technologies AS t1
JOIN languages AS t2
  ON t1.language = t2.key
WHERE t1.project=$key

where должно быть в конце (после СОЕДИНЕНИЯ)

6 голосов
/ 22 октября 2009

ГДЕ идет после FROM / JOIN.

SELECT    * 
FROM      project_technologies AS t1
JOIN      languages AS t2
ON        t1.language = t2.key
WHERE     t1.project=$key
5 голосов
/ 22 октября 2009
SELECT *
            FROM project_technologies AS t1
            JOIN languages AS t2
            ON t1.language = t2.key
            WHERE t1.project=$key
3 голосов
/ 22 октября 2009

Я думаю, WHERE должно идти после FROM. Вы пробовали это?

$q =   "SELECT *
            FROM project_technologies AS t1
            JOIN languages AS t2
            ON t1.language = t2.key
            WHERE t1.project=$key";
3 голосов
/ 22 октября 2009

Предложение WHERE следует после предложения FROM.

SELECT *
FROM project_technologies as t1
JOIN languages as t2
on t1.language = ts.key
WHERE t1.project = $key
3 голосов
/ 22 октября 2009

В SQL вы пишете:

ВЫБРАТЬ ... ИЗ таблиц ... ГДЕ условия

Вы положили вещи в неправильном порядке ...

1 голос
/ 22 октября 2009
"SELECT * FROM project_technologies AS t1  INNER JOIN languages AS t2 ON t1.language = t2.key WHERE t.project = '$key'";
1 голос
/ 22 октября 2009

FROM предшествует WHERE в выражении SELECT.

0 голосов
/ 22 октября 2009

Может быть, это должен быть правильный способ написать

"SELECT * FROM project_technologies AS t1 JOIN languages AS t2 ON t1.language = t2.key WHERE t1.project=$key";
0 голосов
/ 22 октября 2009

Вы должны поместить предложение WHERE после предложения FROM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...