Php 使mysql查询适应mssql
在Mysql上运行的查询,它没有在mssql上运行。我怎样才能解决这个问题Php 使mysql查询适应mssql,php,mysql,sql,sql-server,codeigniter,Php,Mysql,Sql,Sql Server,Codeigniter,在Mysql上运行的查询,它没有在mssql上运行。我怎样才能解决这个问题 SELECT Count(*) AS stok_adet, s.*, m.*, d.* FROM stok AS s CROSS JOIN mermer_cins AS m JOIN stok_durum AS d ON s.stok_durum_id = d.stok_durum_id WHERE m.mermer_cins_id = '5' AND s.blok_no = 'M6320' GRO
SELECT
Count(*) AS stok_adet,
s.*,
m.*,
d.*
FROM stok AS s
CROSS JOIN mermer_cins AS m
JOIN stok_durum AS d
ON s.stok_durum_id = d.stok_durum_id
WHERE m.mermer_cins_id = '5'
AND s.blok_no = 'M6320'
GROUP BY s.bundle_no,
s.boy,
s.yukseklik,
s.hatali
ORDER BY s.blok_no ASC,
s.bundle_no ASC,
s.stok_tarih DESC
您的代码也不应该在MySQL上工作——至少使用多年来一直是标准的默认设置 不要将SELECT*与GROUP BY一起使用。最好只列出列
SELECT COUNT(*) as stok_adet,
s.bundle_no, s.boy, s.yukseklik, s.hatali
FROM stok s CROSS JOIN
mermer_cins m JOIN
stok_durum d
ON s.stok_durum_id = d.stok_durum_id
WHERE m.mermer_cins_id = '5' AND s.blok_no = 'M6320'
GROUP BY s.bundle_no, s.boy, s.yukseklik, s.hatali;
如果确实需要s和m中的所有匹配行,则可以使用子查询而不是分组方式:
@新行。您的MySQL查询格式不正确,它将在使用默认设置的较新版本的MySQL中生成错误。样本数据、预期结果和逻辑解释都会有所帮助。首先,感谢您的关注。我尝试了sql。但重复的数据正在出现。Mysql有25行数据,Mssql有45行数据。Mssql ss:Mysql ss:
SELECT s.*, m.*,
(SELECT COUNT(*)
FROM stok_durum d
WHERE s.stok_durum_id = d.stok_durum_id
) as stok_adet
FROM stok s CROSS JOIN
mermer_cins m
WHERE m.mermer_cins_id='5' AND s.blok_no='M6320'
ORDER BY s.blok_no ASC, s.bundle_no ASC, s.stok_tarih DESC