tag:forum.selfhtml.org,2005:/self
gleichzeitiges lesen von unterschiedlichen Felder mit sql (mysql) – SELFHTML-Forum
2021-09-29T18:14:14Z
https://forum.selfhtml.org/self/2021/sep/29/gleichzeitiges-lesen-von-unterschiedlichen-felder-mit-sql-mysql/1791985?srt=yes#m1791985
der henry
2021-09-29T16:42:46Z
2021-09-29T16:42:46Z
gleichzeitiges lesen von unterschiedlichen Felder mit sql (mysql)
<p>Hallo,</p>
<p>ich habe eine Datenbank, hier ein Auschnitt.</p>
<p>(Es handelt sich nur um ein Muster, die Datenmengen sind wesentlich größer)</p>
<pre><code class="block">
#####################################
# maschine | varname | istwert #
#===================================#
# T1 | drehzahl | 22 #
#-----------------------------------#
# T1 | temp | 22 #
#-----------------------------------#
# T2 | drehzahl | 22 #
#-----------------------------------#
# T2 | temp | 22 #
#-----------------------------------#
# T3 | drehzahl | 22 #
#-----------------------------------#
# T3 | temp | 22 #
#-----------------------------------#
</code></pre>
<p>Gibt es eine SQL-Anweisung, um mit "einem Datenbankzugriff" die Istwerte von</p>
<p>T1-drehzahl, T2-temp, T3-drehzahl gleichzeitig zu lesen ??</p>
<pre><code> Gruß
</code></pre>
<p>der henry</p>
https://forum.selfhtml.org/self/2021/sep/29/gleichzeitiges-lesen-von-unterschiedlichen-felder-mit-sql-mysql/1791986?srt=yes#m1791986
Der Martin
2021-09-29T16:53:30Z
2021-09-29T17:25:30Z
gleichzeitiges lesen von unterschiedlichen Felder mit sql (mysql)
<p>Hallo Henry,</p>
<blockquote>
<p>Gibt es eine SQL-Anweisung, um mit "einem Datenbankzugriff" die Istwerte von
T1-drehzahl, T2-temp, T3-drehzahl gleichzeitig zu lesen ??</p>
</blockquote>
<p>ähm, meines Wissens nicht. SQL arbeitet datensatz-orientiert. Mit einer Abfrage kannst du die Menge der zutreffenden Datensätze eingrenzen, und das Ergebnis durch Aufzählung der Spalten im SELECT-Statement noch weiter eingrenzen. Aber nach einer Kombination aus verschiedenen Spalten selektieren? Eher nicht.</p>
<p>Ergänzung: Mit einer wilden Kombination von AND-OR-Bedingungen mag das vielleicht doch möglich sein. Aber das wird dann sehr schwer handhabbar und ist vermutlich nur brauchbar, wenn die Kombination von Werten einmal handverlesen feststeht und sich nicht dynamisch ändert.</p>
<p>Live long and <s>pros</s> healthy,<br>
Martin</p>
<div class="signature">-- <br>
Klein φ macht auch Mist.
</div>
https://forum.selfhtml.org/self/2021/sep/29/gleichzeitiges-lesen-von-unterschiedlichen-felder-mit-sql-mysql/1791988?srt=yes#m1791988
Rolf B
2021-09-29T17:48:03Z
2021-09-29T17:49:16Z
gleichzeitiges lesen von unterschiedlichen Felder mit sql (mysql)
<p>Hallo Henry,</p>
<p>definiere "Ein DB Zugriff". Es soll sicherlich ein SQL Statement sein, klar, aber genügen 3 Rows? Oder muss es eine sein?</p>
<p>Gehen tut es in beiden Fällen, die Lösung mit 3 Rows ist aber sicherlich effizienter.</p>
<p>3 Rows: 3 SELECTs mit UNION ALL verbunden</p>
<p>1 Row: Dreifacher Selfjoin</p>
<p><em>Rolf</em></p>
<div class="signature">-- <br>
sumpsi - posui - obstruxi
</div>
https://forum.selfhtml.org/self/2021/sep/29/gleichzeitiges-lesen-von-unterschiedlichen-felder-mit-sql-mysql/1791990?srt=yes#m1791990
MudGuard
http://www.andreas-waechter.de/
2021-09-29T18:12:32Z
2021-09-29T18:12:32Z
gleichzeitiges lesen von unterschiedlichen Felder mit sql (mysql)
<p>Hi,</p>
<blockquote>
<p>Gehen tut es in beiden Fällen, die Lösung mit 3 Rows ist aber sicherlich effizienter.</p>
<p>3 Rows: 3 SELECTs mit UNION ALL verbunden</p>
</blockquote>
<p>geht auch ohne UNION, einfach die 3 Bedingungen mit OR verknüpfen:</p>
<pre><code class="block language-sql"><span class="token keyword">SELECT</span> <span class="token operator">*</span> <span class="token keyword">FROM</span> <span class="token keyword">table</span> <span class="token keyword">WHERE</span>
<span class="token punctuation">(</span>maschine <span class="token operator">=</span> <span class="token string">'T1'</span> <span class="token operator">AND</span> varname <span class="token operator">=</span> <span class="token string">'drehzahl'</span><span class="token punctuation">)</span>
<span class="token operator">OR</span> <span class="token punctuation">(</span>maschine <span class="token operator">=</span> <span class="token string">'T2'</span> <span class="token operator">AND</span> varname <span class="token operator">=</span> <span class="token string">'temp'</span><span class="token punctuation">)</span>
<span class="token operator">OR</span> <span class="token punctuation">(</span>maschine <span class="token operator">=</span> <span class="token string">'T3'</span> <span class="token operator">AND</span> varname <span class="token operator">=</span> <span class="token string">'drehzahl'</span><span class="token punctuation">)</span>
<span class="token punctuation">;</span>
</code></pre>
<p>oder</p>
<pre><code class="block language-sql"><span class="token keyword">SELECT</span> <span class="token operator">*</span> <span class="token keyword">FROM</span> <span class="token keyword">table</span> <span class="token keyword">WHERE</span>
<span class="token punctuation">(</span>maschine <span class="token operator">IN</span> <span class="token punctuation">(</span><span class="token string">'T1'</span><span class="token punctuation">,</span><span class="token string">'T3'</span><span class="token punctuation">)</span> <span class="token operator">AND</span> varname <span class="token operator">=</span> <span class="token string">'drehzahl'</span><span class="token punctuation">)</span>
<span class="token operator">OR</span> <span class="token punctuation">(</span>maschine <span class="token operator">=</span> <span class="token string">'T2'</span> <span class="token operator">AND</span> varname <span class="token operator">=</span> <span class="token string">'temp'</span><span class="token punctuation">)</span>
<span class="token punctuation">;</span>
</code></pre>
<blockquote>
<p>1 Row: Dreifacher Selfjoin</p>
</blockquote>
<p>oder</p>
<pre><code class="block language-sql"><span class="token keyword">SELECT</span>
<span class="token punctuation">(</span><span class="token keyword">SELECT</span> istwert <span class="token keyword">FROM</span> <span class="token keyword">table</span> <span class="token keyword">WHERE</span> maschine <span class="token operator">=</span> <span class="token string">'T1'</span> <span class="token operator">AND</span> varname <span class="token operator">=</span> <span class="token string">'drehzahl'</span><span class="token punctuation">)</span> <span class="token keyword">as</span> T1Drehzahl<span class="token punctuation">,</span>
<span class="token punctuation">(</span><span class="token keyword">SELECT</span> istwert <span class="token keyword">FROM</span> <span class="token keyword">table</span> <span class="token keyword">WHERE</span> maschine <span class="token operator">=</span> <span class="token string">'T2'</span> <span class="token operator">AND</span> varname <span class="token operator">=</span> <span class="token string">'temp'</span><span class="token punctuation">)</span> <span class="token keyword">as</span> T2Temp<span class="token punctuation">,</span>
<span class="token punctuation">(</span><span class="token keyword">SELECT</span> istwert <span class="token keyword">FROM</span> <span class="token keyword">table</span> <span class="token keyword">WHERE</span> maschine <span class="token operator">=</span> <span class="token string">'T3'</span> <span class="token operator">AND</span> varname <span class="token operator">=</span> <span class="token string">'drehzahl'</span><span class="token punctuation">)</span> <span class="token keyword">as</span> T3Drehzahl
<span class="token punctuation">;</span>
</code></pre>
<p>cu,<br>
Andreas a/k/a MudGuard</p>
https://forum.selfhtml.org/self/2021/sep/29/gleichzeitiges-lesen-von-unterschiedlichen-felder-mit-sql-mysql/1791992?srt=yes#m1791992
der henry
2021-09-29T18:14:14Z
2021-09-29T18:14:14Z
gleichzeitiges lesen von unterschiedlichen Felder mit sql (mysql)
<p>Servus Rolf,</p>
<p>ich verstehe nicht ganz was Du meinst.</p>
<p>Ja, es soll ein SQL Statement sein.</p>
<p>Es können nicht nur</p>
<p>Es werden nur eine Kombination aus "Maschine + Varname" benutzt, und in diesem Fall wird nur der Istwert gelesen.
Jedoch können auch mal 300 Variablen (Zeilen) aus der Datenbank gelesen werden.</p>
<p>Ich hoffe ich habe es richtig beantwortet.</p>
<pre><code> Gruß
</code></pre>