PHP SELECT отличается не эхо переменной? - PullRequest
1 голос
/ 20 января 2011
$query = "SELECT distinct('case'), firstname, lastname 
            FROM cases ";

Почему «дело» не отражается? Это число ..

Это будет эхо, когда запрос будет выглядеть так:

$query = "SELECT case, firstname, lastname 
            FROM cases ";

Ответы [ 2 ]

5 голосов
/ 20 января 2011

Во-первых, регистр не должен быть в кавычках, он должен быть в обратном кавычках.Во-вторых, DISTINCT всегда применяется ко всей строке независимо от того, какие круглые скобки у вас могут быть вокруг любого из ваших выражений.В вашем запросе ваши скобки вводят в заблуждение и должны быть удалены.

SELECT DISTINCT `case`, firstname, lastname FROM cases

Если вы хотите вернуть одну агрегированную строку для каждого case, вам нужно использовать «GROUP BY` case` », но затем вам нужно подумать, что следует возвращать для других значений.

0 голосов
/ 20 января 2011

Дело не отражено, потому что вы можете пытаться повторить $row['case'], что не сработает, потому что возвращаемое поле не case, а distinct(case)

И вам нужно избегать одинарных кавычеки либо не давать кавычек, либо использовать обратную кавычку;иначе mysql примет case как буквенную строку

, поэтому измените запрос на

SELECT
    DISTINCT(case),
    firstname,
    lastname
FROM
    cases

И если вы хотите получить доступ к регистру как $row['case'], используйте as как

SELECT
    DISTINCT(case) as case,
    firstname,
    lastname
FROM
    cases
...