Php Oracle GROUP BY Dons';I don’我没有按预期工作
我得到了如下SQL查询:Php Oracle GROUP BY Dons';I don’我没有按预期工作,php,sql,oracle,Php,Sql,Oracle,我得到了如下SQL查询: SELECT Z.ID, Z.ZADAVATEL, Z.DATUM_ZADANI, Z.LIN_OBL, Z.DRUH_ZMENY, Z.CISLO_ZMENY, Z.PRILOHY FROM ZMENY Z JOIN ZMENY_DILY ZD ON (ZD.ID_ZMENY=Z.ID) WHERE 1=1 %sql ORDER BY Z.ID DES
SELECT Z.ID,
Z.ZADAVATEL,
Z.DATUM_ZADANI,
Z.LIN_OBL,
Z.DRUH_ZMENY,
Z.CISLO_ZMENY,
Z.PRILOHY
FROM ZMENY Z
JOIN ZMENY_DILY ZD
ON (ZD.ID_ZMENY=Z.ID)
WHERE 1=1 %sql
ORDER BY Z.ID DESC %lmt%ofs
表ZMENY有9行,ZMENY_DILY有11行。问题是我得到了11行结果,但其中有2行是重复的,我试图摆脱这两个重复,我试图使用
GROUP BY Z.ID
不幸的是,甲骨文说:ORA-00979:不是一个组
我对Oracle不太感兴趣,我想MySQL不会有任何问题。。。有什么提示吗?您不需要分组方式。在这种情况下,您可以使用“选择不同”
SELECT distinct
Z.ID,
Z.ZADAVATEL,
Z.DATUM_ZADANI,
Z.LIN_OBL,
Z.DRUH_ZMENY,
Z.CISLO_ZMENY,
Z.PRILOHY
FROM ZMENY Z JOIN ZMENY_DILY ZD ON (ZD.ID_ZMENY=Z.ID)
ORDER BY Z.ID DESC %lmt%ofs
您可以使用
选择distinct
,假设所有列都是重复的:
SELECT DISTINCT Z.ID, Z.ZADAVATEL, Z.DATUM_ZADANI, Z.LIN_OBL,
Z.DRUH_ZMENY, Z.CISLO_ZMENY, Z.PRILOHY
FROM ZMENY Z JOIN
ZMENY_DILY ZD
ON ZD.ID_ZMENY = Z.ID
WHERE 1=1 -- %sql ???
ORDER BY Z.ID DESC;
或者,您可以在中使用:
SELECT z.*
FROM ZMENY Z
WHERE Z.ID IN (SELECT ID_ZMENY FROM ZMENY_DILY ZD)
ORDER BY Z.ID DESC;
使用以下命令:ORA-00932:不一致的数据类型:预期-获得CLOB。。。。IN子句返回了sameUsing语句,并引发以下错误:ORA-00932:不一致的数据类型:预期-Get CLOBYou无法在WHERE子句中放置CLOB。确保你没有cblog在哪里。是的,问题是在选择。。。我必须使用函数在CLOB列上添加字符:)谢谢!!首先,您应该确定这两个额外的行代表什么。假设ZMENY
的每个条目在ZMENY\u DILY
中有一个匹配的行,并且两个条目有一个额外的行——这些额外的行意味着什么?回答这个问题,我相信你的问题的答案会马上跳出来。