SQL 查询好像不影响同样的行数,加个count语句
SQL Query seems not to affect the same number of rows, Adding a count statement
我做了一个看起来像这样的查询
查询 1.
SELECT zlec_status.nazwa AS Status,
piorytet.nazwa AS Priorytet,
Concat(koord.imie, ' ', koord.nazwisko) AS `Koordynator`,
Concat(zlec_adresy.miasto, ' - ', zlec_adresy.ulica, ' ',
zlec_adresy.oddzial)
AS `adres`,
zlec_z_dnia,zlec_id,
zlec_nr,
zlec_do,
zlec_ogran,
awizacje,
awizacja_na_dzien,
termin_zamkniecia,
tresc,
uwagi
FROM zlec
INNER JOIN koord
ON zlec.koord = koord.id
INNER JOIN zlec_adresy
ON zlec.zlec_addres = zlec_adresy.id
INNER JOIN piorytet
ON zlec.priorytet = piorytet.id
INNER JOIN zlec_status
ON zlec.status_zlecenia = zlec_status.id
而下面这一个是普通的
查询 2.
SELECT * FROM zlec;
事情是第一个returns(通过执行影响)48行,而第二个查询returns103行。这可能是什么原因?
如果您想自己制作一个 运行 http://pastebin.com/cMPAtxCU,我也会向您展示我的 sql 的愚蠢之处。
子问题 - 完全没有必要从一个新问题开始,因为它也与行数影响有关。
此外,我想知道如何进入第一个查询 count(*) 以获取受影响的行 - 它必须在 sql 中完成我不能为此使用 php 代码, 可能最好使用 limit 1 进行计数。
使用额外的内部联接,行可能会被消除。您是否尝试过将内部联接添加到您的 "Select * FROM zlec;"?
与INNER JOIN
,如果你的其他表之一,koord
,zlec_adresy
,piorytet
和zlec_status
缺少一条记录对应的记录在 zlec
中,zlec
中的记录将不在结果集中。如果要显示zlec
中的每条记录,则必须使用LEFT JOIN
。查看:
http://blog.codinghorror.com/a-visual-explanation-of-sql-joins/
一个很好的解释。
我做了一个看起来像这样的查询
查询 1.
SELECT zlec_status.nazwa AS Status,
piorytet.nazwa AS Priorytet,
Concat(koord.imie, ' ', koord.nazwisko) AS `Koordynator`,
Concat(zlec_adresy.miasto, ' - ', zlec_adresy.ulica, ' ',
zlec_adresy.oddzial)
AS `adres`,
zlec_z_dnia,zlec_id,
zlec_nr,
zlec_do,
zlec_ogran,
awizacje,
awizacja_na_dzien,
termin_zamkniecia,
tresc,
uwagi
FROM zlec
INNER JOIN koord
ON zlec.koord = koord.id
INNER JOIN zlec_adresy
ON zlec.zlec_addres = zlec_adresy.id
INNER JOIN piorytet
ON zlec.priorytet = piorytet.id
INNER JOIN zlec_status
ON zlec.status_zlecenia = zlec_status.id
而下面这一个是普通的
查询 2.
SELECT * FROM zlec;
事情是第一个returns(通过执行影响)48行,而第二个查询returns103行。这可能是什么原因?
如果您想自己制作一个 运行 http://pastebin.com/cMPAtxCU,我也会向您展示我的 sql 的愚蠢之处。
子问题 - 完全没有必要从一个新问题开始,因为它也与行数影响有关。
此外,我想知道如何进入第一个查询 count(*) 以获取受影响的行 - 它必须在 sql 中完成我不能为此使用 php 代码, 可能最好使用 limit 1 进行计数。
使用额外的内部联接,行可能会被消除。您是否尝试过将内部联接添加到您的 "Select * FROM zlec;"?
与INNER JOIN
,如果你的其他表之一,koord
,zlec_adresy
,piorytet
和zlec_status
缺少一条记录对应的记录在 zlec
中,zlec
中的记录将不在结果集中。如果要显示zlec
中的每条记录,则必须使用LEFT JOIN
。查看:
http://blog.codinghorror.com/a-visual-explanation-of-sql-joins/
一个很好的解释。