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>