$q=mysql_query("SELECT DISTINCT zone, location FROM service_info WHERE city='".$_REQUEST['city']."' and sr_no=1");
我希望区域和位置不同
答案 0 :(得分:1)
如果您只想检索不同区域的列表和不同位置的列表,它们都符合条件,您应该为每个区域发出两个单独的查询,因为这两个列表彼此无关,因此在一个查询中检索它们是没有意义的。您可能只想并排显示两个列表,这应该在表示层中完成,而不是在数据库中完成。
但是,作为替代方案,你可能会考虑这样的事情:
SELECT
(
SELECT GROUP_CONCAT(DISTINCT zone)
FROM service_info
WHERE city='".$_REQUEST['city']."' AND sr_no=1
) AS zones
,
(
SELECT GROUP_CONCAT(DISTINCT location)
FROM service_info
WHERE city='".$_REQUEST['city']."' AND sr_no=1
) AS locations
上面的查询将返回一行,每列包含一个以逗号分隔的项列表。如果您希望将列表视为列,则可以将换行符明确指定为分隔符,如下所示:
GROUP_CONCAT(DISTINCT zone SEPARATOR '<br />')
答案 1 :(得分:0)
如果您不需要单独的列,则可以执行以下操作:
SELECT
zone
FROM
service_info
WHERE
city='".$_REQUEST['city']."' and sr_no=1
UNION
SELECT
location
FROM
service_info
WHERE
city='".$_REQUEST['city']."' and sr_no=1