4
現在、私たちはSQL @ our Schoolを行っています。 selectパラメータを変更すると疑わしい結果セットが出るのではないかと思いました。"select"ステートメントを変更するとSQL結果が変化する
は、だから私はこれをしようとすると:
select p1.vorname, p1.Geburtstag, p2.vorname, p2.Geburtstag
from patienten as p1
inner join patienten as p2
on p1.Geburtstag = p2.Geburtstag AND p1.Nr != p2.Nr
order by p1.Geburtstag asc
は、その後、私は44件の結果を得ます。しかし、私はこのしようとすると:
select p1.vorname, p1.Geburtstag
from patienten as p1
inner join patienten as p2
on p1.Geburtstag = p2.Geburtstag AND p1.Nr != p2.Nr
order by p1.Geburtstag asc
を私はすべての患者を表し、1084の結果を、取得...
私はなぜ、私がしたすべては、SELECT文を変更した原因と思ったんだけど...
私はXAMPPを使用してい は:
Server: 127.0.0.1 via TCP/IP
Server-Typ: MariaDB
Server-Version: 10.1.8-MariaDB-log - mariadb.org binary distribution
Protokoll-Version: 10
Benutzer: [email protected]
Server-Zeichensatz: UTF-8 Unicode (utf8)
代わりにあなたがしたすべては、SELECT文を変更したことを言ってのことあなたがしたことはすべて、選択したフィールドのリストを変更することだったと言えるでしょう。また、残りの部分が同じであることを確認しやすくするために、異なるインデントを避けてください。 –
So:選択したフィールドのリストを変更すると結果が異なるとは思わない。証明できますか? [MCVE]を入力してください。これは 'CREATE TABLE'ステートメントと' INSERT INTO'ステートメントを使ってテーブルにサンプルデータを取り込むことを意味します。したがって、上記の2つのクエリを実行すると、あなたが得た結果を得ることができます。 –
ここで何か他のことが起こっているに違いありません。クエリが返す行の数は、SELECT DISTINCTを使用したときに選択された列にのみ依存します。これは照会には当てはまらないので、戻される行の数は同じに留まらなければなりません。 –